:root{--bg-primary:#f5f5f0;--bg-secondary:#fff;--bg-tertiary:#eaeae5;--text-primary:#2c2c2c;--text-secondary:#5a5a5a;--text-muted:#8a8a8a;--border-primary:#d4d4cf;--border-secondary:#e5e5e0;--accent-primary:#5c7a56;--accent-hover:#4a6346;--accent-light:#e8efe7;--color-error:#b54a4a;--color-error-bg:#f5e8e8;--color-error-border:#e0c4c4;--color-success:#5c7a56;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 2px 4px #0000001a;--shadow-lg:0 10px 40px #00000026;--color-spouse-line:#a87c5c}[data-theme=dark]{--bg-primary:#1a1a18;--bg-secondary:#252523;--bg-tertiary:#2f2f2c;--text-primary:#e5e5e0;--text-secondary:#a8a8a3;--text-muted:#6a6a65;--border-primary:#3a3a36;--border-secondary:#2f2f2c;--accent-primary:#7d9a78;--accent-hover:#8fac8a;--accent-light:#2a352a;--color-error:#cf6b6b;--color-error-bg:#352a2a;--color-error-border:#4a3535;--color-success:#7d9a78;--shadow-sm:0 1px 2px #0003;--shadow-md:0 2px 4px #0000004d;--shadow-lg:0 10px 40px #0006;--color-spouse-line:#c9a882}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg-primary:#1a1a18;--bg-secondary:#252523;--bg-tertiary:#2f2f2c;--text-primary:#e5e5e0;--text-secondary:#a8a8a3;--text-muted:#6a6a65;--border-primary:#3a3a36;--border-secondary:#2f2f2c;--accent-primary:#7d9a78;--accent-hover:#8fac8a;--accent-light:#2a352a;--color-error:#cf6b6b;--color-error-bg:#352a2a;--color-error-border:#4a3535;--color-success:#7d9a78;--shadow-sm:0 1px 2px #0003;--shadow-md:0 2px 4px #0000004d;--shadow-lg:0 10px 40px #0006;--color-spouse-line:#c9a882}}body{margin:0}.auth-container{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;box-shadow:var(--shadow-lg);max-width:400px;padding:40px;width:100%}.auth-card h2{color:var(--text-primary);margin:0 0 30px;text-align:center}.form-group{margin-bottom:20px}.form-group input{border-radius:5px;font-size:14px;padding:10px}.btn{font-size:16px;padding:12px;transition:background-color .3s;width:100%}.error-message{padding:10px}.auth-link{color:var(--text-secondary);margin-top:20px;text-align:center}.auth-link a{color:var(--accent-primary);text-decoration:none}.auth-link a:hover{text-decoration:underline}.modal-backdrop{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-width:400px;padding:24px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.modal-header h2{color:var(--text-primary);font-size:1.25rem;margin:0}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.modal-close:hover{color:var(--text-primary)}.modal-subtitle{color:var(--text-secondary);font-size:.9rem;margin:0 0 20px}.modal-error{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:6px;color:var(--color-error);font-size:.9rem;margin-bottom:16px;padding:10px 12px}.mode-toggle{border:1px solid var(--border-primary);border-radius:8px;display:flex;gap:0;margin-bottom:20px;overflow:hidden}.mode-btn{background:var(--bg-tertiary);border:none;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:10px 16px;transition:all .2s}.mode-btn:first-child{border-right:1px solid var(--border-primary)}.mode-btn:hover:not(.active){background:var(--bg-primary)}.mode-btn.active{background:var(--accent-primary);color:#fff}.form-group{margin-bottom:16px}.form-group label{font-size:.9rem;margin-bottom:6px}.form-group input{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light);outline:none}.autocomplete-container{position:relative}.autocomplete-suggestions{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:0 0 6px 6px;border-top:none;box-shadow:var(--shadow-md);left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:10}.autocomplete-suggestions li{color:var(--text-primary);cursor:pointer;padding:10px 12px;transition:background-color .15s}.autocomplete-suggestions li:hover{background-color:var(--bg-tertiary)}.autocomplete-suggestions li.selected{background-color:var(--accent-light);color:var(--accent-primary)}.autocomplete-suggestions li.highlighted{background-color:var(--bg-tertiary)}.autocomplete-suggestions li.no-results{color:var(--text-muted);cursor:default;font-style:italic}.autocomplete-suggestions li.no-results:hover{background-color:initial}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions .btn{border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px;transition:all .2s}.modal-actions .btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary)}.modal-actions .btn-secondary:hover{background:var(--bg-tertiary)}.modal-actions .btn-primary{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.modal-actions .btn-primary:hover{background:var(--accent-hover)}.modal-actions .btn-primary:disabled{background:var(--text-muted);border-color:var(--text-muted);cursor:not-allowed}.family-tree-container{background-color:var(--bg-tertiary);border-radius:8px;padding:10px;width:100%}.tree-empty-state{color:var(--text-secondary);font-size:1.1rem;padding:60px 20px;text-align:center}.tree-view{background:var(--bg-primary);border-radius:0 0 8px 8px;height:500px;margin-bottom:20px;overflow:hidden;position:relative;width:100%}.zoom-controls{border-radius:6px;box-shadow:var(--shadow-md);gap:8px;padding:6px 10px;position:absolute;right:10px;top:10px;z-index:10}.zoom-btn,.zoom-controls{align-items:center;background:var(--bg-secondary);display:flex}.zoom-btn{border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:18px;font-weight:500;height:28px;justify-content:center;transition:background-color .15s,border-color .15s;width:28px}.zoom-btn:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}.zoom-btn:active{background:var(--border-primary)}.zoom-level{color:var(--text-secondary);font-size:12px;min-width:40px;text-align:center}.reset-btn{font-size:14px;margin-left:4px}.tree-svg{cursor:grab;height:100%;-webkit-user-select:none;user-select:none;width:100%}.tree-svg.panning{cursor:grabbing}.connection{stroke:var(--border-primary);stroke-width:2;fill:none}.connection.parent-child{stroke:var(--text-muted);stroke-width:2.5}.connection.sibling{stroke:var(--border-primary);stroke-width:2;stroke-dasharray:5,5}.connection.spouse{stroke:var(--color-spouse-line);stroke-width:3}.connection.co-parent{stroke:#9ca3af;stroke:var(--color-coparent-line,#9ca3af);stroke-width:2;stroke-dasharray:8,4}.node{cursor:pointer}.node-circle{fill:var(--bg-secondary);stroke:var(--border-primary);stroke-width:3;transition:stroke .2s ease,filter .2s ease}.node:hover .node-circle{stroke:var(--accent-primary);filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.node.current-user .node-circle{stroke:var(--accent-primary);stroke-width:4;filter:drop-shadow(0 4px 6px rgba(92,122,86,.3))}.node image,.node-initials{pointer-events:none}.node-initials{fill:var(--text-secondary);font-size:24px;font-weight:600}.node-label{fill:var(--text-primary);font-size:14px;font-weight:500;pointer-events:none}.you-label{fill:var(--accent-primary);font-size:12px;font-weight:600;pointer-events:none}.plus-icon{cursor:pointer}.plus-icon-circle,.plus-icon-line{transition:fill .15s ease,stroke .15s ease}.plus-icon-circle{fill:var(--bg-secondary);stroke:var(--accent-primary);stroke-width:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.plus-icon:hover .plus-icon-circle{fill:var(--accent-primary)}.plus-icon-line{stroke:var(--accent-primary);stroke-width:2;stroke-linecap:round}.plus-icon:hover .plus-icon-line{stroke:#fff}.family-tree-toolbar{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);border-radius:8px 8px 0 0;display:flex;gap:20px;padding:10px 15px}.toolbar-group{align-items:center;display:flex;gap:8px}.toolbar-group label{color:var(--text-secondary);font-size:14px;font-weight:500}.toolbar-select{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;min-width:150px;padding:6px 10px}.toolbar-select:hover{border-color:var(--text-muted)}.toolbar-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #5c7a5633;outline:none}.focus-ring{fill:none;stroke:#dc2626;stroke-width:3;pointer-events:none}@media (max-width:768px){.family-tree-container{padding:10px}.family-tree-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.toolbar-select{min-width:120px}.tree-view{height:300px}.node-label{font-size:12px}.you-label{font-size:10px}}.theme-toggle{background:var(--bg-tertiary);border-radius:6px;display:flex;gap:2px;padding:2px}.theme-toggle-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;transition:background-color .15s,color .15s;width:32px}.theme-toggle-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.theme-toggle-btn.active{background:var(--accent-primary);color:#fff}.theme-toggle-btn.active:hover{background:var(--accent-hover)}.dashboard{background-color:var(--bg-primary);min-height:100vh}.dashboard-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);box-shadow:var(--shadow-md);color:var(--text-primary);display:flex;justify-content:space-between;padding:20px 40px}.dashboard-header h1{margin:0}.user-info{align-items:center;display:flex;gap:15px}.dashboard-content{margin:0 auto;max-width:1200px;padding:40px}.actions-bar{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-bottom:30px}.view-toggle{display:flex;gap:5px}.btn{background-color:var(--bg-tertiary);border:none;border-radius:5px;color:var(--text-primary);cursor:pointer;display:inline-block;font-size:14px;padding:10px 20px;text-decoration:none;transition:all .3s}.btn:hover{background-color:var(--border-primary)}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-primary)}.btn-small{font-size:12px;margin-right:5px;padding:5px 10px}.btn-view{white-space:nowrap}.btn-add-member,.btn-view{font-size:14px;padding:8px 16px}.btn-add-member{width:auto}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover{opacity:.9}.loading{color:var(--text-secondary);font-size:18px;padding:100px;text-align:center}.error-message{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);padding:15px}.empty-state{background:var(--bg-secondary);border-radius:10px;box-shadow:var(--shadow-md);padding:60px 20px;text-align:center}.empty-state h2{color:var(--text-primary);margin-bottom:10px}.empty-state p{color:var(--text-secondary);margin-bottom:30px}.members-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.member-card{background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;padding:10px;transition:transform .2s,box-shadow .2s}.member-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.member-avatar,.member-photo{border-radius:50%;flex-shrink:0;height:36px;width:36px}.member-photo{object-fit:cover}.member-avatar{color:#fff;font-size:14px;font-weight:600;justify-content:center}.member-avatar,.member-info{align-items:center;display:flex}.member-info{gap:10px;margin-bottom:8px}.member-info h3{color:var(--text-primary);font-size:14px;font-weight:600;margin:0}.member-actions{align-items:center;border-top:1px solid var(--border-secondary);display:flex;gap:8px;margin-top:auto;padding-top:8px}.member-actions .btn-small{font-size:11px;margin-right:0;padding:4px 8px}.member-actions .btn-danger{margin-left:auto}.collapsible-section{margin-bottom:16px}.collapsible-header{align-items:center;background:#0000;border:none;border-bottom:1px solid var(--border-secondary);cursor:pointer;display:flex;gap:8px;padding:12px 0;text-align:left;transition:border-color .2s;width:100%}.collapsible-header:hover{border-bottom-color:var(--border-primary)}.collapsible-icon{color:var(--text-secondary);flex-shrink:0;transition:transform .2s ease,color .2s}.collapsible-icon.expanded{transform:rotate(0deg)}.collapsible-icon:not(.expanded){transform:rotate(-90deg)}.collapsible-header:hover .collapsible-icon,.collapsible-title{color:var(--text-primary)}.collapsible-title{font-size:15px;font-weight:600}.collapsible-content{animation:slideDown .2s ease-out;padding:16px 0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.details-section{width:100%}.details-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.detail-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:1fr 1fr auto}.detail-key,.detail-value{display:flex;flex-direction:column}.detail-input{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:5px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px;width:100%}.detail-input:focus{border-color:var(--accent-primary);outline:none}.detail-delete-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:5px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.detail-delete-btn:hover{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.add-field-btn{background:#0000;border:1px dashed var(--border-primary);border-radius:5px;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:10px 16px;transition:all .2s;width:100%}.add-field-btn:hover{background:var(--bg-primary);border-color:var(--accent-primary);color:var(--accent-primary)}@media (max-width:768px){.detail-row{gap:8px;grid-template-columns:1fr}.detail-delete-btn{height:36px;width:100%}}.timeline-section{width:100%}.timeline-table{border:1px solid var(--border-primary);border-radius:5px;margin-bottom:15px;overflow:hidden;width:100%}.timeline-header{background:var(--bg-primary);color:var(--text-secondary);font-size:13px;font-weight:600}.timeline-header,.timeline-row{grid-gap:10px;border-bottom:1px solid var(--border-primary);display:grid;gap:10px;grid-template-columns:2fr 1.5fr 1.5fr 2fr 40px;padding:10px}.timeline-row{align-items:center}.timeline-row:last-child{border-bottom:none}.timeline-row-custom,.timeline-row-fixed{background:var(--bg-secondary)}.timeline-row-custom:hover{background:var(--bg-primary)}.timeline-col-actions,.timeline-col-comment,.timeline-col-date,.timeline-col-name,.timeline-col-place{align-items:center;display:flex}.timeline-col-actions{justify-content:center}.timeline-fixed-label{color:var(--text-primary);font-weight:500;padding:10px}.timeline-row input{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;padding:8px 10px;width:100%}.timeline-row input:disabled{background:var(--bg-secondary);border-color:#0000;cursor:not-allowed;opacity:.5}.timeline-row input:focus{border-color:var(--accent-primary);outline:none}.timeline-row input::placeholder{color:var(--text-tertiary);opacity:.6}.timeline-delete-btn{background:none;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;transition:all .2s}.timeline-delete-btn:hover{background:#dc26261a;background:var(--danger-bg,#dc26261a);color:#dc2626;color:var(--danger-text,#dc2626)}.timeline-add-btn{background:none;border:1px dashed var(--border-primary);border-radius:5px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s;width:100%}.timeline-add-btn:hover{background:var(--bg-primary);border-color:var(--accent-primary);color:var(--accent-primary)}@media (max-width:768px){.timeline-header{display:none}.timeline-row{gap:8px;grid-template-columns:1fr;padding:15px 10px}.timeline-col-comment,.timeline-col-date,.timeline-col-name,.timeline-col-place{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:80px 1fr}.timeline-col-comment:before,.timeline-col-date:before,.timeline-col-name:before,.timeline-col-place:before{color:var(--text-secondary);content:attr(data-label);font-size:13px;font-weight:600}.timeline-col-name:before{content:"Event:"}.timeline-col-date:before{content:"Date:"}.timeline-col-place:before{content:"Place:"}.timeline-col-comment:before{content:"Comment:"}.timeline-fixed-label{padding:8px 0}.timeline-col-actions{justify-content:flex-end;margin-top:5px}}.relations-section{display:flex;flex-direction:column;gap:12px}.relations-empty,.relations-loading{color:var(--text-secondary);font-size:14px;padding:8px 0}.relations-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.relation-item{align-items:center;background:var(--bg-primary);border-radius:4px;display:flex;gap:8px;padding:8px 12px}.relation-name{color:var(--text-primary);font-weight:500}.relation-type{color:var(--text-secondary);font-size:13px}.relation-remove{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;margin-left:auto;width:24px}.relation-remove:hover{background:var(--bg-secondary);color:var(--text-primary)}.add-relation-btn{align-self:flex-start;background:#0000;border:1px dashed var(--border-primary);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:8px 16px}.add-relation-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.form-container{background-color:var(--bg-primary);min-height:100vh;padding:40px 20px}.form-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;box-shadow:var(--shadow-md);margin:0 auto;max-width:800px;padding:40px}.form-card h2{color:var(--text-primary);margin:0 0 30px}.basic-info-section{border-bottom:1px solid var(--border-primary);margin-bottom:24px;padding-bottom:24px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{margin-bottom:0}.form-group label{color:var(--text-secondary);display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:5px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-primary);outline:none}.biography-textarea{border-radius:4px}.photo-section{display:flex;flex-direction:column;gap:12px}.current-photo{border:1px solid var(--border-primary);border-radius:8px;height:150px;overflow:hidden;width:150px}.current-photo img{height:100%;object-fit:cover;width:100%}.photo-actions{display:flex;gap:8px}.photo-remove-btn,.photo-upload-btn{border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px}.photo-upload-btn{background:var(--accent-primary);border:none;color:#fff}.photo-upload-btn:hover{opacity:.9}.photo-remove-btn{background:#0000;border:1px solid var(--border-primary);color:var(--text-secondary)}.photo-remove-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.form-actions{display:flex;gap:10px;margin-top:30px}.form-actions .btn{flex:1 1}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;margin-bottom:20px;padding:12px}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-card{padding:20px}}.confirm-backdrop{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-width:360px;padding:24px;width:100%}.confirm-title{color:var(--text-primary);font-size:1.1rem;margin:0 0 12px}.confirm-message{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 24px}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px;transition:all .2s}.confirm-actions .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-actions .btn-secondary:hover{background:var(--border-primary)}.confirm-actions .btn-danger{background:var(--color-error);color:#fff}.confirm-actions .btn-danger:hover{opacity:.9}.confirm-actions .btn-primary{background:var(--accent-primary);color:#fff}.confirm-actions .btn-primary:hover{background:var(--accent-hover)}.avatar{border-radius:50%;flex-shrink:0;overflow:hidden;position:relative}.avatar-photo{height:100%;object-fit:cover;width:100%}.avatar-initials{align-items:center;color:#fff;display:flex;font-size:2.5rem;font-weight:600;height:100%;justify-content:center;width:100%}.avatar-editable{cursor:pointer}.avatar-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s}.avatar-editable:hover .avatar-overlay{opacity:1}.avatar-overlay-text{color:#fff;font-size:14px;font-weight:500}.member-detail{background-color:var(--bg-primary);min-height:100vh;padding:20px}.detail-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto 30px;max-width:1000px}.detail-header .btn{flex-shrink:0;width:auto}.detail-content{margin:0 auto;max-width:1000px}.member-profile{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;box-shadow:var(--shadow-md);display:flex;gap:30px;margin-bottom:30px;padding:30px}.profile-photo{border-radius:10px;height:250px;object-fit:cover;width:250px}.profile-info{flex:1 1}.profile-info h1{color:var(--text-primary);margin:0 0 10px}.profile-info p{color:var(--text-secondary);margin:8px 0}.maiden-name{color:var(--text-muted);font-style:italic}.biography{border-top:1px solid var(--border-secondary);margin-top:20px;padding-top:20px}.biography h3{color:var(--text-primary);margin:0 0 10px}.section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;box-shadow:var(--shadow-md);margin-bottom:20px;padding:30px}.section h2{color:var(--text-primary);margin:0 0 20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{flex:1 1;margin:0}.section-header .btn{flex-shrink:0;width:auto}.inline-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.inline-form input,.inline-form select{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:5px;color:var(--text-primary);flex:1 1;font-size:14px;min-width:150px;padding:8px 12px}.inline-form input:focus,.inline-form select:focus{border-color:var(--accent-primary);outline:none}.inline-form button{flex-shrink:0;white-space:nowrap;width:auto}.events-list{display:flex;flex-direction:column;gap:10px}.event-row{grid-gap:15px;align-items:center;background:var(--bg-tertiary);border-radius:5px;display:grid;gap:15px;grid-template-columns:2fr 1fr 4fr auto;padding:12px 15px}.event-name{color:var(--text-primary);font-weight:600}.event-date,.event-description{color:var(--text-secondary);font-size:14px}.event-actions{display:flex;flex-shrink:0;gap:8px}.event-actions .btn{width:auto}.relationships-list{display:flex;flex-direction:column;gap:15px}.relationship-item{align-items:start;background:var(--bg-tertiary);border-radius:5px;display:flex;gap:15px;justify-content:space-between;padding:15px}.relationship-item .btn{align-self:center;flex-shrink:0;width:auto}.relationship-info{flex:1 1}.relationship-info p{color:var(--text-primary);margin:5px 0}.relationship-date{color:var(--text-secondary);font-size:14px;font-style:italic}.relationship-link{color:var(--text-primary);text-decoration:none;transition:color .2s}.relationship-link:hover{color:var(--accent-primary)}.access-list{display:flex;flex-direction:column;gap:10px}.access-item{align-items:center;background:var(--bg-tertiary);border-radius:5px;display:flex;justify-content:space-between;padding:12px}.access-level{background:var(--accent-primary);border-radius:12px;color:#fff;font-size:12px;padding:4px 12px}.profile-header-row{align-items:center;display:flex;gap:12px}.profile-header-row h1{margin:0}.btn-icon{background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:8px;transition:background-color .2s,color .2s}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary)}.profile-edit-form{display:flex;flex-direction:column;gap:12px}.profile-form-row{display:flex;flex-wrap:wrap;gap:12px}.profile-input{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:5px;color:var(--text-primary);flex:1 1;font-size:14px;min-width:120px;padding:8px 12px}.profile-input:focus{border-color:var(--accent-primary);outline:none}.profile-field-group{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:120px}.profile-field-group label{color:var(--text-secondary);font-size:12px}.profile-form-actions{display:flex;gap:10px;margin-top:8px}.profile-form-actions .btn{width:auto}.biography-section{padding:0}.biography-view{display:flex;flex-direction:column;gap:12px}.biography-view p{color:var(--text-secondary);margin:0;white-space:pre-wrap}.biography-view .btn{align-self:flex-start;width:auto}.biography-edit{display:flex;flex-direction:column;gap:12px}.biography-textarea{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:5px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:12px;resize:vertical;width:100%}.biography-textarea:focus{border-color:var(--accent-primary);outline:none}.biography-actions{display:flex;gap:10px}.biography-actions .btn{width:auto}.section-content{display:flex;flex-direction:column;gap:16px}.section-actions{display:flex;justify-content:flex-end}.section-actions .btn{width:auto}.admin-section{display:flex;flex-direction:column;gap:24px}.admin-subsection h3{color:var(--text-primary);font-size:16px;margin:0 0 12px}.danger-zone{background:#dc35451a;border:1px solid #dc35454d;border-radius:8px;padding:16px}.danger-zone h3{color:#dc3545}.danger-zone p{color:var(--text-secondary);font-size:14px;margin:0 0 12px}.danger-zone .btn-danger{width:auto}.error,.loading{color:var(--text-secondary);font-size:18px;padding:100px 20px;text-align:center}.error-message{background:#dc35451a;border:1px solid #dc35454d;border-radius:5px;color:#dc3545;font-size:14px;margin-bottom:10px;padding:10px 15px}@media (max-width:768px){.member-profile{align-items:center;flex-direction:column;text-align:center}.profile-photo{height:auto;width:100%}.profile-header-row{justify-content:center}.profile-form-row{flex-direction:column}.profile-input{min-width:100%}.detail-header{flex-direction:row;gap:10px}.detail-header .btn{width:auto}.event-row{gap:8px;grid-template-columns:1fr}.event-actions{justify-content:flex-start}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.541d18e7.css.map*/