:root{--bg-dark: #0f172a;--bg-card: #1e293b;--bg-sidebar: #111827;--bg-tree: radial-gradient(circle at center, #1e293b 0%, #0f172a 100%);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--accent: #3b82f6;--accent-hover: #2563eb;--border: #334155;--radius: 12px;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1)}[data-theme=light]{--bg-dark: #ffffff;--bg-card: #ffffff;--bg-sidebar: #f8fafc;--bg-tree: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);--text-primary: #0f172a;--text-secondary: #64748b;--accent: #3b82f6;--accent-hover: #2563eb;--border: #cbd5e1;--shadow: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--card-shadow: 0 2px 8px rgba(0, 0, 0, .1), 0 0 0 1px rgba(0, 0, 0, .05)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-dark);color:var(--text-primary)}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:320px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative}.sidebar.collapsed{width:40px}.sidebar-toggle-btn{position:absolute;top:1rem;right:1rem;background:transparent;border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:all .2s}.sidebar.collapsed .sidebar-toggle-btn{right:50%;transform:translate(50%)}.sidebar-toggle-btn:hover{background:var(--bg-card);color:var(--accent);border-color:var(--accent)}.sidebar-content,.sidebar-header-content{opacity:1;transition:opacity .2s ease-in-out;width:320px}.sidebar.collapsed .sidebar-content,.sidebar.collapsed .sidebar-header-content{opacity:0;pointer-events:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-entrance{opacity:0;animation:fadeInUp .6s ease-out forwards}.main-content{flex:1;display:flex;flex-direction:column;position:relative;background:var(--bg-tree);overflow-x:scroll}.app-header{padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.app-header h1{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(to right,#60a5fa,#a78bfa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}button{cursor:pointer;border:none;font-family:inherit;transition:all .2s}.primary-btn{background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:500;display:flex;align-items:center;gap:.5rem}.primary-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.sidebar-header{padding:1rem;border-bottom:1px solid var(--border)}.search-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.5rem;display:flex;align-items:center;gap:.5rem}.search-bar input{background:transparent;border:none;color:#fff;width:100%;outline:none}.search-icon{color:var(--text-secondary)}.sidebar-content{flex:1;overflow-y:auto;padding:1rem}.person-list-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:8px;cursor:pointer;transition:background .2s}.person-list-item:hover,.person-list-item.active{background:#ffffff0d}.list-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-card);display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:600;color:var(--text-secondary);border:1px solid var(--border)}.list-avatar img{width:100%;height:100%;object-fit:cover}.list-info{display:flex;flex-direction:column}.list-name{font-weight:500}.list-dob{font-size:.75rem;color:var(--text-secondary)}.person-details{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .3s ease}.details-header{display:flex;flex-direction:column;align-items:center;position:relative}.close-details{position:absolute;top:0;right:0;background:transparent;color:var(--text-secondary);padding:.5rem}.large-avatar{width:100px;height:100px;border-radius:50%;background:var(--bg-card);border:4px solid var(--bg-sidebar);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:2rem;margin-bottom:1rem}.large-avatar img{width:100%;height:100%;object-fit:cover}.dob-badge{background:#ffffff1a;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;color:var(--text-secondary);margin-top:.5rem}.details-body{display:flex;flex-direction:column;gap:1rem}.detail-item label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.25rem}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.action-btn{padding:.75rem;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500}.action-btn.edit{background:#3b82f61a;color:#60a5fa}.action-btn.delete{background:#ef44441a;color:#f87171}.tree-container{flex:1;display:flex;padding:2rem;overflow:auto;position:relative}.tree-scroll-area{display:flex;flex-direction:column;gap:3rem;min-width:min-content;padding:1rem;margin:0 auto}.placeholder-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#64748b;background:#1e293b}.tree-node-wrapper{display:flex;flex-direction:column;align-items:center;position:relative}.person-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;width:180px;display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;box-shadow:var(--card-shadow);transition:all .2s;position:relative;z-index:2}.person-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 10px 15px -3px #0003}.person-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f680}.person-card .avatar{width:64px;height:64px;border-radius:50%;background:#ffffff0d;overflow:hidden;display:flex;align-items:center;justify-content:center}.person-card .avatar img{width:100%;height:100%;object-fit:cover}.person-card .info{text-align:center}.person-card .name{font-weight:600;margin-bottom:.25rem}.person-card .relationship{font-size:.7rem;background:#3b82f61a;color:#60a5fa;padding:2px 8px;border-radius:12px;display:inline-block}.person-card .detail-actions{display:flex;gap:.5rem;margin-top:1.5rem}.relationship-group{margin:.75rem 0}.relationship-group strong{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.relationship-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:6px;margin-bottom:.5rem}.relationship-item span{color:var(--text-primary);font-size:.875rem}.remove-rel-btn{background:transparent;color:var(--text-secondary);border:none;padding:.25rem;cursor:pointer;border-radius:4px;transition:all .2s}.remove-rel-btn:hover{background:#ef44441a;color:#ef4444}.add-relationship-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-dark);border:1px dashed var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s;width:100%;margin-top:.75rem}.add-relationship-btn:hover{border-color:var(--accent);color:var(--accent);background:#3b82f60d}.add-relationship-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:.75rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:6px}.add-relationship-form select{padding:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.875rem}.add-rel-actions{display:flex;gap:.5rem;margin-top:.25rem}.add-rel-actions button{flex:1;padding:.5rem;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s}.add-rel-actions button:first-child{background:var(--accent);color:#fff;border:none}.add-rel-actions button:first-child:hover:not(:disabled){background:var(--accent-hover)}.add-rel-actions button:first-child:disabled{opacity:.5;cursor:not-allowed}.add-rel-actions button:last-child{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.add-rel-actions button:last-child:hover{background:var(--bg-dark);color:var(--text-primary)}.person-card .actions{display:flex;gap:.5rem;opacity:0;transition:opacity .2s}.person-card:hover .actions{opacity:1}.person-card .actions button{width:28px;height:28px;border-radius:50%;background:var(--bg-dark);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.person-card .actions button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.avatar-edit-button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .2s;margin-top:.5rem;border:2px solid var(--bg-sidebar)}.avatar-edit-button:hover{background:#2563eb;transform:scale(1.05)}:root{--card-width: 180px;--spouse-gap: 3rem;--node-padding: 1rem;--connector-offset: calc(var(--node-padding) + var(--card-width) / 2);--border-radius: 12px}.family-node{display:flex;flex-direction:column;align-items:center;gap:0;padding:1rem}.parents-row{display:flex;align-items:center;gap:0;position:relative;justify-content:center;padding-bottom:2rem}.vertical-connector{width:3px;height:2rem;background:linear-gradient(180deg,var(--accent),#60a5fa);position:relative;margin:0 auto}.spouse-connector{width:60px;height:3px;background:linear-gradient(90deg,var(--accent),#60a5fa);position:relative;flex-shrink:0;margin-top:0}.parents-row.has-spouse:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%);width:3px;height:50%;background:linear-gradient(180deg,var(--accent),#60a5fa)}.person-card{z-index:2}.children-container{display:flex;flex-direction:column;align-items:center;position:relative}.children-row{display:flex;position:relative;padding-top:2rem;justify-content:center}.child-node{display:flex;flex-direction:column;align-items:center;position:relative;padding:0 var(--node-padding)}.child-node:before{content:"";position:absolute;top:-2rem;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),#60a5fa);border-radius:2px}.child-node:after{content:"";position:absolute;top:-2rem;left:50%;width:3px;height:2rem;background:linear-gradient(180deg,var(--accent),#60a5fa);transform:translate(-50%)}.child-node:first-child:before{left:50%;width:50%;background:linear-gradient(90deg,var(--accent),#60a5fa)}.child-node:last-child:before{width:50%;background:linear-gradient(90deg,var(--accent),#60a5fa)}.child-node:only-child:before{display:none}.child-node:only-child{padding-top:0}.child-node:only-child:after{height:2rem;top:-2rem;background:linear-gradient(180deg,var(--accent),#60a5fa)}.child-node.has-spouse:after{left:var(--connector-offset);transform:translate(-50%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tree-container::-webkit-scrollbar{width:12px;height:12px}.tree-container::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:6px}.tree-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px;border:2px solid var(--bg-dark)}.tree-container::-webkit-scrollbar-thumb:hover{background:var(--accent)}.tree-container{scrollbar-width:thin;scrollbar-color:var(--border) var(--bg-dark)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.delete-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 25px -5px #0000004d;animation:slideUp .3s}.delete-modal h3{margin:0 0 1rem;color:#ef4444;font-size:1.25rem}.delete-modal p{margin:0 0 1.5rem;color:var(--text-primary);line-height:1.5}.delete-modal strong{color:var(--text-primary);font-weight:600}.delete-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.delete-modal-actions .cancel-btn{background:transparent;color:var(--text-secondary);padding:.75rem 1.5rem;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.delete-modal-actions .cancel-btn:hover{background:var(--bg-dark);color:var(--text-primary)}.delete-modal-actions .delete-btn{background:#ef4444;color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.delete-modal-actions .delete-btn:hover{background:#dc2626;transform:translateY(-1px)}.people-search-page{padding:2rem;max-width:1200px;margin:0 auto}.people-search-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.people-search-header .header-left h1{margin:0 0 .25rem;font-size:1.75rem}.people-search-header .header-left p{margin:0;color:var(--text-secondary)}.ghost-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:.5rem .75rem;border-radius:8px;cursor:pointer}.outline-btn{background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.5rem .75rem;border-radius:8px;cursor:pointer}.search-controls{display:grid;grid-template-columns:1fr 220px 160px;gap:1rem;align-items:center;margin-bottom:1.25rem}.search-input{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:.5rem .75rem}.search-input input{background:transparent;border:none;outline:none;color:var(--text-primary);width:100%}.filter-row{display:flex;gap:.5rem;align-items:center}.quick-stats{display:flex;gap:.75rem;align-items:center}.stat-card{background:var(--bg-card);border:1px solid var(--border);padding:.6rem .8rem;border-radius:8px}.stat-label{font-size:.75rem;color:var(--text-secondary)}.stat-value{font-weight:700;font-size:1.05rem}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1rem}.person-tile{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);border:1px solid var(--border);border-radius:12px;padding:.75rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;transition:transform .18s ease,box-shadow .18s ease}.person-tile:hover{transform:translateY(-6px);box-shadow:0 10px 30px #00000059}.person-avatar{width:48px;height:48px;border-radius:10px;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-secondary)}.person-meta .person-name{font-weight:600}.person-family{font-size:.85rem;color:var(--text-secondary)}.person-bio{font-size:.8rem;color:var(--text-secondary)}.tile-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.inline-link{background:transparent;border:none;color:var(--accent);display:inline-flex;align-items:center;gap:6px;cursor:pointer}.dob-tag{font-size:.75rem;color:var(--text-secondary)}.empty-state-card{grid-column:1/-1;text-align:center;padding:2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.profile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1200}.profile-card{width:min(1100px,95%);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .25s}.profile-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);gap:1rem}.profile-card-body{display:grid;grid-template-columns:380px 1fr;gap:1rem;padding:1rem}.profile-gallery{display:flex;flex-direction:column;gap:.5rem;align-items:center}.gallery-stage{width:100%;height:340px;background:var(--bg-dark);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-image{width:100%;height:100%;object-fit:cover}.gallery-placeholder{font-size:4rem;color:var(--text-secondary)}.gallery-controls{width:100%;display:flex;justify-content:space-between;align-items:center;padding-top:.5rem}.gallery-indicator{color:var(--text-secondary)}.gallery-thumbs{display:flex;gap:.5rem;margin-top:.5rem;max-width:100%;overflow:auto}.gallery-thumbs .thumb{position:relative;width:72px;height:56px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg-dark);flex:0 0 auto}.gallery-thumbs .thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery-thumbs .thumb .remove-thumb{position:absolute;top:6px;right:6px;background:#00000073;color:#fff;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer}.upload-row{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;width:100%}.upload-row input[type=file]{border:1px dashed var(--border);padding:6px;border-radius:8px;background:var(--bg-dark);color:var(--text-primary)}.upload-label{font-size:.9rem;color:var(--text-secondary)}.edit-bio label{display:block;color:var(--text-secondary);margin-bottom:.25rem}.edit-bio textarea{width:100%;min-height:120px;resize:vertical}.profile-edit-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.remove-thumb:hover{background:#ef4444e6}.profile-details{padding:.25rem .5rem;display:flex;flex-direction:column;gap:.75rem}.profile-name{margin:0;font-size:1.5rem}.profile-sub{color:var(--text-secondary)}.profile-meta{display:flex;gap:.5rem;align-items:center}.profile-bio{color:var(--text-primary);line-height:1.5}.profile-family-desc{color:var(--text-secondary)}.profile-extra{margin-top:.5rem;color:var(--text-secondary)}.profile-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1300;padding:2rem}.profile-actions-left,.profile-actions-right{display:flex;gap:.5rem;align-items:center}.people-search-page{padding:2rem;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.people-search-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.people-search-header h1{margin:.25rem 0}.people-search-header p{margin:0;color:var(--text-secondary)}.header-left{display:flex;flex-direction:column;gap:.35rem}.header-actions{display:flex;align-items:center;gap:.75rem}.search-controls{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;box-shadow:var(--card-shadow)}.search-input{background:var(--bg-dark);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem}.search-input input{background:transparent;border:none;color:var(--text-primary);width:100%;outline:none;font-size:1rem}.filter-row{display:flex;align-items:center;gap:.5rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:10px;padding:.5rem .75rem}.filter-label{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-secondary);font-size:.9rem}.filter-row select{background:transparent;border:none;color:var(--text-primary);flex:1;font-size:1rem}.quick-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.stat-card{background:var(--bg-dark);border:1px solid var(--border);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.stat-label{color:var(--text-secondary);font-size:.85rem}.stat-value{font-weight:700;font-size:1.25rem}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.person-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;cursor:pointer;box-shadow:var(--card-shadow);transition:transform .2s,border-color .2s}.person-tile:hover{transform:translateY(-3px);border-color:var(--accent)}.person-avatar{width:52px;height:52px;border-radius:12px;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-primary);border:1px solid var(--border);overflow:hidden}.person-avatar img{width:100%;height:100%;object-fit:cover}.person-meta{display:flex;flex-direction:column;gap:.25rem}.person-name{font-weight:600}.person-family{color:var(--text-secondary);font-size:.9rem}.person-bio{color:var(--text-secondary);font-size:.9rem;line-height:1.4}.tile-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dob-tag{background:var(--bg-dark);color:var(--text-secondary);padding:.25rem .5rem;border-radius:8px;border:1px solid var(--border);font-size:.85rem}.inline-link{background:transparent;color:var(--accent);border:none;display:inline-flex;align-items:center;gap:.25rem}.empty-state-card{grid-column:1 / -1;text-align:center;padding:2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary)}.muted{color:var(--text-secondary)}.profile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:flex-end;z-index:30}.profile-drawer{width:min(420px,90%);background:var(--bg-card);height:100%;border-left:1px solid var(--border);box-shadow:-10px 0 30px #0000004d;display:flex;flex-direction:column;animation:slideIn .25s ease}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header{display:flex;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border)}.drawer-body{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1}.drawer-avatar{width:96px;height:96px;border-radius:20px;background:var(--bg-dark);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:2rem;margin-bottom:.5rem}.drawer-avatar img{width:100%;height:100%;object-fit:cover}.drawer-subtitle{color:var(--text-secondary);display:inline-flex;align-items:center;gap:.35rem}.drawer-row{display:flex;gap:.5rem;flex-wrap:wrap}.pill{background:var(--bg-dark);color:var(--text-primary);padding:.35rem .6rem;border-radius:999px;border:1px solid var(--border);font-size:.85rem}.drawer-bio{color:var(--text-primary);line-height:1.5}.drawer-family-desc{color:var(--text-secondary);line-height:1.5}.drawer-footer{padding:1rem 1.5rem 1.5rem;display:flex;gap:.75rem;justify-content:flex-end}.ghost-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:.5rem .75rem;border-radius:8px;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.outline-btn{background:transparent;color:var(--text-primary);border:1px solid var(--border);padding:.65rem 1rem;border-radius:10px;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}@media (max-width: 900px){.people-search-header{flex-direction:column;align-items:flex-start}.search-controls{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease-out;position:relative}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.close-button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-button:hover{background:var(--bg-dark);color:var(--text-primary)}.modal-body{padding:1.5rem}.person-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:.75rem;background:var(--bg-dark);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.cancel-btn{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-weight:500}.cancel-btn:hover{background:var(--bg-dark);color:var(--text-primary)}.submit-btn{padding:.75rem 1.5rem;background:var(--accent);border:none;border-radius:8px;color:#fff;font-weight:500}.submit-btn:hover{background:var(--accent-hover)}
