.invite-family-member{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;position:relative;width:90vw}.invite-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.invite-modal-header h3{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;transition:color .2s ease}.close-btn:hover{background-color:#f3f4f6;color:#374151}.invite-form{gap:20px}.form-group,.invite-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#374151;font-size:14px;font-weight:500}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:12px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input.error,.form-group select.error{border-color:#ef4444}.radio-group{display:flex;flex-wrap:wrap;gap:16px}.radio-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.radio-group input[type=radio]{margin:0;width:auto}.error-text{color:#ef4444;font-size:12px;margin-top:4px}.submit-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;padding:12px}.form-actions{display:flex;gap:12px;margin-top:8px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;min-height:44px;padding:12px 24px;text-align:center;text-decoration:none;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-full-width{width:100%}.invite-info{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.info-text{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.accept-invitation-page{align-items:center;background-color:#f9fafb;display:flex;justify-content:center;min-height:100vh;padding:20px}.invitation-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:500px;padding:32px;width:100%}.invitation-card.error{background-color:#fef2f2;border:1px solid #fecaca;text-align:center}.invitation-header{margin-bottom:32px;text-align:center}.invitation-header h2{color:#1f2937;font-size:1.75rem;font-weight:700;margin:0 0 8px}.invitation-header p{color:#6b7280;font-size:16px;margin:0}.invitation-details{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.detail-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:12px 0}.detail-item:last-child{border-bottom:none}.detail-item label{color:#374151;font-size:14px;font-weight:500}.detail-item span{color:#1f2937;font-size:14px;text-align:right}.invitation-form{display:flex;flex-direction:column;gap:20px}.form-section{margin-bottom:8px;text-align:center}.form-section h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 8px}.form-section p{color:#6b7280;font-size:14px;margin:0}.invitation-footer{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:20px;text-align:center}.help-text{color:#9ca3af;font-size:12px;line-height:1.4;margin:0}.loading{color:#6b7280;font-size:16px;padding:40px 20px;text-align:center}@media (max-width:768px){.invite-family-member{padding:20px;width:95vw}.invitation-card{margin:10px;padding:24px}.form-actions,.radio-group{flex-direction:column}.radio-group{gap:12px}.detail-item{align-items:flex-start;flex-direction:column;gap:4px}.detail-item span{text-align:left}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-overlay .invite-family-member{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.invitation-manager{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px}.invitation-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.invitation-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.invitation-count{background-color:#f3f4f6;border-radius:20px;color:#6b7280;font-size:14px;padding:4px 12px}.empty-state{color:#6b7280;padding:40px 20px;text-align:center}.empty-state p{line-height:1.5;margin:8px 0}.invitation-list{display:flex;flex-direction:column;gap:16px}.invitation-item{border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:all .2s ease}.invitation-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.invitation-item.expired{background-color:#fef2f2;border-color:#fecaca}.invitation-primary{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.invitation-primary h4{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.status-badge{border-radius:20px;font-size:12px;font-weight:500;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.invitation-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.invitation-details .detail{display:flex;flex-direction:column;gap:4px}.invitation-details .detail label{color:#6b7280;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.invitation-details .detail span{color:#1f2937;font-size:14px}.expired-text{color:#ef4444!important;font-weight:500}.invitation-actions{display:flex;gap:8px;justify-content:flex-end}.btn-sm{font-size:12px;min-height:32px;padding:8px 16px}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.invitation-expanded{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.expanded-section{margin-bottom:20px}.expanded-section:last-child{margin-bottom:0}.expanded-section h5{color:#374151;font-size:14px;font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.expanded-details{display:flex;flex-direction:column;gap:8px}.expanded-details .detail{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.expanded-details .detail label{color:#6b7280;font-size:14px;font-weight:500}.expanded-details .detail span{color:#1f2937;font-size:14px}.mono{background-color:#f3f4f6;border-radius:4px;font-family:Courier New,monospace;font-size:12px;padding:2px 6px}.invitation-link{align-items:center;display:flex;gap:8px;margin-top:8px}.link-input{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-family:Courier New,monospace;font-size:14px;padding:8px 12px}.link-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}@media (max-width:768px){.invitation-manager{border-radius:0;margin:0 -16px;padding:16px}.invitation-header,.invitation-primary{align-items:flex-start;flex-direction:column;gap:8px}.invitation-details{gap:8px;grid-template-columns:1fr}.invitation-actions{justify-content:flex-start}.invitation-link{align-items:stretch;flex-direction:column}.expanded-details .detail{align-items:flex-start;flex-direction:column;gap:4px}}.family-tree-with-invitations{background:#f9fafb;display:flex;flex-direction:column;gap:20px;min-height:100vh;padding:20px}.tree-actions-bar{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;padding:20px}.tree-info h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 8px}.member-counts{align-items:center;display:flex;gap:16px}.member-count{background-color:#f3f4f6;border-radius:20px;color:#6b7280;font-size:14px;padding:4px 12px}.invitation-count.pending{background-color:#fef3c7;border:1px solid #f59e0b;color:#d97706}.tree-actions{align-items:center;display:flex;gap:12px}.tree-actions .btn{position:relative}.notification-badge{align-items:center;background-color:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:500;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.pending-invitations-banner{align-items:center;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;display:flex;justify-content:space-between;padding:16px 20px}.banner-content{align-items:center;display:flex;flex:1 1;gap:12px}.banner-icon{font-size:20px}.banner-text{display:flex;flex-direction:column;gap:4px}.banner-text strong{color:#92400e;font-size:14px}.banner-text span{color:#78350f;font-size:13px}.banner-action{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.banner-action:hover{background:#d97706}.tree-visualization-container{min-height:500px}.invitation-manager-panel,.tree-visualization-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.tree-error,.tree-loading,.tree-placeholder{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:60px 20px;text-align:center}.tree-loading p,.tree-placeholder p{color:#6b7280;font-size:16px;margin:0}.tree-error p{color:#ef4444;font-size:16px;margin:0 0 16px}.tree-error button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background-color .2s ease}.tree-error button:hover{background:#2563eb}@media (max-width:768px){.family-tree-with-invitations{padding:16px}.tree-actions-bar{align-items:stretch;flex-direction:column;gap:16px;padding:16px}.member-counts,.tree-actions{justify-content:center}.pending-invitations-banner{align-items:stretch;gap:12px}.banner-content,.pending-invitations-banner{flex-direction:column;text-align:center}.tree-visualization-container{min-height:400px}}.vis-tooltip{background-color:#000c!important;border:none!important;border-radius:8px!important;box-shadow:0 4px 6px #0000001a!important;color:#fff!important;font-family:Roboto,sans-serif!important;font-size:14px!important;line-height:1.4!important;max-width:250px!important;padding:12px!important}.rd3t-tree-container{height:100%;width:100%}.rd3t-node{cursor:pointer;transition:all .3s ease}.rd3t-node:hover{filter:brightness(1.1)}.rd3t-link{stroke:#ccc;stroke-width:2px;fill:none;transition:all .3s ease}.rd3t-link:hover{stroke:#999;stroke-width:3px}.family-node{text-anchor:middle;dominant-baseline:central;font-family:Roboto,sans-serif}.family-node-male{fill:#2196f3}.family-node-female{fill:#e91e63}.family-node-unknown{fill:#9e9e9e}@media (max-width:768px){.vis-tooltip{font-size:12px!important;max-width:200px!important;padding:8px!important}.rd3t-tree-container{font-size:12px}}.network-loading{background:#ffffffe6;left:50%;padding:20px;top:50%;transform:translate(-50%,-50%);z-index:1000}.network-legend,.network-loading{border-radius:8px;box-shadow:0 2px 10px #0000001a;position:absolute}.network-legend{background:#fffffff2;bottom:20px;min-width:200px;padding:16px;right:20px}.legend-item{align-items:center;display:flex;font-size:14px;margin-bottom:8px}.legend-line{border-radius:2px;height:3px;margin-right:12px;width:30px}.legend-circle{border-radius:50%;height:20px;margin-right:12px;width:20px}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scale-in{animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.fullscreen-container{background:#fff;height:100vh;left:0;overflow:auto;position:fixed;top:0;width:100vw;z-index:9999}.fullscreen-container .MuiCard-root{border-radius:0;height:100vh}.settings-panel{background:#fffffff2;border-radius:8px;box-shadow:0 2px 10px #0000001a;left:20px;max-height:calc(100vh - 40px);min-width:250px;overflow-y:auto;padding:16px;position:absolute;top:20px}.settings-panel::-webkit-scrollbar{width:6px}.settings-panel::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.settings-panel::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.settings-panel::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.vis-network,.vis-network canvas{outline:none!important}.tree-controls{display:flex;flex-direction:column;gap:8px;position:absolute;right:20px;top:20px}.tree-controls .MuiIconButton-root{background:#ffffffe6;box-shadow:0 2px 8px #0000001a}.tree-controls .MuiIconButton-root:hover{background:#fff;box-shadow:0 4px 12px #00000026}.add-member-buttons{opacity:0;pointer-events:none;transition:opacity .3s ease}.add-member-buttons:hover,.rd3t-node:hover .add-member-buttons,g:hover .add-member-buttons{opacity:1;pointer-events:all}.add-member-buttons circle{cursor:pointer;transition:all .2s ease}.add-member-buttons circle:hover{filter:brightness(1.1);transform:scale(1.1)}.add-member-buttons text{text-anchor:middle;dominant-baseline:central;font-size:10px;font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}.add-parent-btn circle{fill:#4caf50}.add-parent-btn circle:hover{fill:#45a049;stroke-width:3px}.add-spouse-btn circle{fill:#ff5722}.add-spouse-btn circle:hover{fill:#e64a19;stroke-width:3px}.add-child-btn circle{fill:#2196f3}.add-child-btn circle:hover{fill:#1976d2;stroke-width:3px}.add-sibling-btn circle{fill:#ff9800}.add-sibling-btn circle:hover{fill:#f57c00;stroke-width:3px}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.add-member-buttons circle:hover{animation:pulse .6s ease-in-out infinite}
/*# sourceMappingURL=main.d162be8d.css.map*/