*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh}.ego-graph-tree .ego-graph-viewport{-webkit-overflow-scrolling:touch;background:linear-gradient(#f8faf9 0%,#eef4f1 100%);border:1px solid #d8e5de;border-radius:12px;flex:1;min-width:0;min-height:0;position:relative;overflow:auto}.ego-graph-tree .ego-graph-viewport::-webkit-scrollbar{width:10px;height:10px}.ego-graph-tree .ego-graph-viewport::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:5px}.ego-graph-tree .ego-graph-viewport::-webkit-scrollbar-track{background:#e8eeeb;border-radius:5px}.ego-graph-scroll-content{z-index:1;flex-shrink:0;display:block;position:relative}.ego-graph-svg{display:block;overflow:visible}.ego-generation-band{opacity:.42;pointer-events:none}.ego-generation-band-accent{opacity:.75;pointer-events:none}.ego-generation-band-label{letter-spacing:.02em;opacity:.78;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600}.ego-edge{fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;opacity:.88;transition:stroke-width .15s,opacity .15s,filter .15s}.ego-edge--parent{stroke-width:1.75px}.ego-edge--parent.ego-edge--highlighted{stroke:var(--lineage-accent,#2d6a4f);stroke-width:3px;opacity:1}.ego-edge-hit{fill:none;stroke:#0000;stroke-width:16px;cursor:pointer;pointer-events:stroke}.ego-edge--highlighted{stroke-width:4px;opacity:1;filter:drop-shadow(0 0 3px)}.ego-edge--dimmed{opacity:.35}.ego-edge--spouse{stroke:#b56576;stroke-width:1.5px;stroke-dasharray:5 4;stroke-linecap:round;opacity:.8;pointer-events:none}.ego-edge--spouse.ego-edge--highlighted{stroke:var(--lineage-accent,#b56576);stroke-width:3px;opacity:1;stroke-dasharray:none}.ego-node--lineage-highlight .ego-node-box{stroke:var(--lineage-accent,#2d6a4f);stroke-width:2.5px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--lineage-accent,#2d6a4f) 40%, transparent))}.ego-node--search-flash{animation:.45s ease-in-out 4 ego-search-blink}.ego-node--search-flash .ego-node-box{stroke:#0f766e;stroke-width:3px;filter:drop-shadow(0 0 8px #0f766ea6)}.ego-node--search-flash .ego-node-label{font-weight:700}@keyframes ego-search-blink{0%,to{opacity:1}50%{opacity:.2}}.ego-node--lineage-dim,.ego-node--lineage-dim .ego-node-box,.ego-node--lineage-dim .ego-node-label,.ego-node--lineage-dim .ego-node-heart{opacity:.28}.ego-node-box--status-dim{opacity:.32}.ego-node-box--status-highlight.ego-node-box--status-living{stroke:#15803d;stroke-width:2.5px;filter:drop-shadow(0 0 5px #15803d59)}.ego-node-box--status-highlight.ego-node-box--status-deceased{stroke:#6b7280;stroke-width:2.5px;filter:drop-shadow(0 0 5px #6b728066)}.ego-node-label--status-dim{opacity:.32}.ego-node-label--status-highlight.ego-node-label--status-living{fill:#14532d;font-weight:700}.ego-node-label--status-highlight.ego-node-label--status-deceased{fill:#4b5563;font-weight:700}.ego-node-box{fill:#f4f4f5;stroke:#d4d4d8;stroke-width:1px;cursor:pointer;transition:stroke .15s,fill .15s}.ego-node-box--male{fill:#f5f9ff;stroke:#d8e6f5}.ego-node-box--female{fill:#fef7fb;stroke:#f0dce8}.ego-node-box--focus:not(.ego-node-box--profile){stroke:#2d6a4f;stroke-width:3px;filter:drop-shadow(0 0 5px #2d6a4f47)}.ego-node-box--focus.ego-node-box--male:not(.ego-node-box--profile){fill:#eef5ff}.ego-node-box--focus.ego-node-box--female:not(.ego-node-box--profile){fill:#fdf0f6}.ego-node-box--profile:not(.ego-node-box--focus){stroke-width:2px}.ego-node-box--profile.ego-node-box--male:not(.ego-node-box--focus){stroke:#b8cfe8;fill:#f5f9ff}.ego-node-box--profile.ego-node-box--female:not(.ego-node-box--focus){stroke:#e8b4c8;fill:#fef7fb}.ego-node-box--profile.ego-node-box--focus,.ego-node-box--profile-focus.ego-node-box--male{stroke:#2d6a4f;stroke-width:2.5px;fill:#eef5ff}.ego-node-box--profile.ego-node-box--focus.ego-node-box--female,.ego-node-box--profile-focus.ego-node-box--female{stroke:#2d6a4f;stroke-width:2.5px;fill:#fdf0f6}.ego-node-box--profile.ego-node-box--focus:not(.ego-node-box--male):not(.ego-node-box--female),.ego-node-box--profile-focus:not(.ego-node-box--male):not(.ego-node-box--female){stroke:#2d6a4f;stroke-width:2.5px;fill:#dff0e8}.ego-node-role-star{stroke-width:1.5px;pointer-events:none;fill:#f5c842;fill-opacity:.62;stroke:#ca8a04;stroke-opacity:.88}.ego-node-role-star--focus,.ego-node-role-star--profile{fill:#f5c842;fill-opacity:.62;stroke:#ca8a04;stroke-opacity:.88}.ego-node-label--profile{fill:#1d4ed8;font-size:12px;font-weight:600}.ego-node-label--focus{fill:#2d6a4f;font-size:13px;font-weight:800}.ego-node-heart{fill:#c44;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:10px}.ego-node--ex-spouse .ego-node-box,.ego-node--former-couple .ego-node-box--left{stroke-dasharray:4 3}.ego-node--linked-spouse .ego-node-box{stroke-width:1.5px}.ego-node--linked-spouse .ego-node-box--male{stroke:#c5d9ef}.ego-node--linked-spouse .ego-node-box--female{stroke:#e8c4d4}.ego-node-heart--broken{fill:#666;font-size:11px}.ego-node--couple-stacked .ego-node-box--top,.ego-node--couple-stacked .ego-node-box--bottom{stroke-width:1.5px}.ego-node--couple-stacked .ego-node-heart{font-size:11px}.ego-node-label{fill:#1a1a1a;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700}.ego-node-label--stacked{pointer-events:all;cursor:pointer}.ego-node-label--linked-spouse{fill:#6b4f8a;font-size:10px;font-style:italic;font-weight:600}.ego-node-label--profile .ego-node-label--linked-spouse,.ego-node-label--focus .ego-node-label--linked-spouse{fill:#6b4f8a;font-style:italic}.tree-page-hint-line{font-weight:500;display:inline}.tree-page-hint-page{font-weight:600}.tree-page-hint-arrow{color:#94a3b8;font-weight:500}.page-hint-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:4px;padding:.1rem .35rem;font-size:.62rem;font-weight:700;line-height:1.3;display:inline-block}.page-hint-badge--profile{color:#1d4ed8;background:#dbeafe}.page-hint-name--profile{color:#1d4ed8;font-weight:600}.page-hint-name--focus{color:#2d6a4f;font-size:.95rem;font-weight:800}.page-hint-name--via{color:#64748b;font-weight:500}.ego-expand-btn{cursor:pointer;pointer-events:all}.ego-expand-btn circle{fill:#fff;stroke:#2d6a4f;stroke-width:1px;cursor:pointer}.ego-expand-btn text{fill:#2d6a4f;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:700}.ego-expand-btn--open circle{fill:#2d6a4f;stroke:#1b4332}.ego-expand-btn--open text{fill:#fff}.ego-branch-btn{cursor:pointer;pointer-events:all}.ego-branch-btn circle{fill:#ffffffe0;stroke:#94a3b8;stroke-width:1px;cursor:pointer}.ego-branch-btn:hover circle{stroke:#2d6a4f;fill:#f0f7f3}.ego-branch-btn text{fill:#64748b;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:600}.ego-graph-focus-label{color:#555;margin:.5rem 0 0;font-size:.85rem}.ego-graph-focus-note{color:#888}.ego-graph-tree--expand-busy,.ego-graph-tree--expand-busy *{cursor:wait!important}.tree-expand-all-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:.85rem;height:.85rem;animation:.65s linear infinite tree-expand-all-spin}.ego-graph-expand-overlay{z-index:100;color:#1a1a2e;pointer-events:all;background:#f8faf9c7;justify-content:center;align-items:center;gap:.55rem;font-size:.9rem;font-weight:600;display:flex;position:absolute;inset:0}.ego-graph-expand-overlay .tree-expand-all-spinner{border-width:2.5px;width:1.1rem;height:1.1rem}@keyframes tree-expand-all-spin{to{transform:rotate(360deg)}}.ego-expand-context-menu{z-index:1200;background:#fff;border:1px solid #d8e5de;border-radius:8px;min-width:11rem;padding:.25rem 0;position:fixed;box-shadow:0 8px 24px #0f172a24}.ego-expand-context-menu__item{color:#1a1a2e;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:.45rem .85rem;font-size:.85rem;display:block}.ego-expand-context-menu__item:hover{background:#eef4f1}:root{color:#1a1a2e;background:#f4f0eb;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}html,body,#root{height:100%}button{font:inherit;cursor:pointer}.app{flex-direction:column;width:100%;max-width:1600px;min-height:100vh;margin:0 auto;padding:1rem 1rem 0;display:flex}.app:not(.app--authenticated){max-width:none;min-height:100vh;margin:0;padding:0}.app:not(.app--authenticated) .import-bar{padding:.5rem 1.25rem}.app.app--authenticated{height:100%}.app--authenticated{max-width:none;height:100%;min-height:100vh;margin:0;padding:0;overflow:hidden}.import-bar{border-bottom:2px solid #d4cfc7;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:0;padding:.5rem 1rem;display:flex}.import-bar-brand{min-width:0;color:inherit;text-decoration:none}.import-bar-brand:hover .import-bar-title{color:#1b4332}.import-bar-user{text-align:right;color:#2d4a3e;flex-shrink:0;font-size:.9rem}.import-bar-end{flex-shrink:0;align-items:flex-start;gap:.65rem;margin-left:auto;display:flex}.import-bar-end>.icon-action-btn{border-radius:9px;width:3.25rem;height:3.25rem;margin-top:.15rem}.import-bar-end>.icon-action-btn--text-label{letter-spacing:.01em;width:auto;min-width:3.25rem;padding:0 .9rem;font-size:.82rem;font-weight:650}.import-bar-end>.icon-action-btn svg{width:1.5rem;height:1.5rem}.import-bar-greeting{margin:0;line-height:1.4}.import-bar-user-actions{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.import-bar-user-actions .icon-action-btn{border-radius:9px;width:3.25rem;height:3.25rem}.import-bar-user-actions .icon-action-btn--text-label{letter-spacing:.01em;width:auto;min-width:3.25rem;padding:0 .9rem;font-size:.82rem;font-weight:650}.import-bar-user-actions .icon-action-btn svg{width:1.5rem;height:1.5rem}.icon-action-btn{color:#1a1a2e;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #d0ddd6;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.icon-action-btn--expand{color:#2d6a4f;background:#eef8f2;border-color:#b8dcc8}.icon-action-btn--expand:hover:not(:disabled){color:#1b4332;background:#dff0e8;border-color:#2d6a4f;box-shadow:0 1px 4px #2d6a4f2e}.icon-action-btn--refresh{color:#0f766e;background:#ecfdf9;border-color:#99d5cf}.icon-action-btn--refresh:hover:not(:disabled){color:#0d5c56;background:#d5faf3;border-color:#0f766e;box-shadow:0 1px 4px #0f766e2e}.icon-action-btn--back{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.icon-action-btn--back:hover:not(:disabled){color:#334155;background:#e2e8f0;border-color:#64748b;box-shadow:0 1px 4px #47556929}.icon-action-btn--profile{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.icon-action-btn--profile:hover:not(:disabled){color:#1e40af;background:#dbeafe;border-color:#1d4ed8;box-shadow:0 1px 4px #1d4ed82e}.icon-action-btn--locate{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.icon-action-btn--locate:hover:not(:disabled){color:#115e59;background:#ccfbf1;border-color:#0f766e;box-shadow:0 1px 4px #0f766e2e}.icon-action-btn--living{color:#a16207;background:#fffbeb;border-color:#fde68a}.icon-action-btn--living:hover:not(:disabled),.icon-action-btn--living.is-open{color:#854d0e;background:#fef3c7;border-color:#a16207;box-shadow:0 1px 4px #a162072e}.icon-action-btn--layout{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.icon-action-btn--layout:hover:not(:disabled),.icon-action-btn--layout.is-open{color:#3730a3;background:#e0e7ff;border-color:#4338ca;box-shadow:0 1px 4px #4338ca2e}.icon-action-btn--export{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.icon-action-btn--export:hover:not(:disabled),.icon-action-btn--export.is-open{color:#115e59;background:#ccfbf1;border-color:#0f766e;box-shadow:0 1px 4px #0f766e2e}.icon-action-btn--admin{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}.icon-action-btn--admin:hover:not(:disabled){color:#6d28d9;background:#ede9fe;border-color:#7c3aed;box-shadow:0 1px 4px #7c3aed2e}.icon-action-btn--logout{color:#be123c;background:#fff1f2;border-color:#fecdd3}.icon-action-btn--logout:hover:not(:disabled){color:#9f1239;background:#ffe4e6;border-color:#be123c;box-shadow:0 1px 4px #be123c2e}.icon-action-btn--tree{color:#2d6a4f;background:#eef8f2;border-color:#b8dcc8}.icon-action-btn--tree:hover:not(:disabled){color:#1b4332;background:#dff0e8;border-color:#2d6a4f;box-shadow:0 1px 4px #2d6a4f2e}.icon-action-btn--about{color:#0f766e;background:#ecfdf9;border-color:#99d5cf}.icon-action-btn--about:hover:not(:disabled){color:#0d5c56;background:#d5faf3;border-color:#0f766e;box-shadow:0 1px 4px #0f766e2e}.icon-action-btn--support{color:#b45309;background:#fffbeb;border-color:#fcd34d}.icon-action-btn--support:hover:not(:disabled){color:#92400e;background:#fef3c7;border-color:#b45309;box-shadow:0 1px 4px #b453092e}.icon-action-btn--uuid{color:#0369a1;background:#e0f2fe;border-color:#bae6fd}.icon-action-btn--uuid:hover:not(:disabled),.icon-action-btn--uuid.is-open{color:#075985;background:#bae6fd;border-color:#0284c7;box-shadow:0 1px 4px #0369a12e}.icon-action-btn--purge{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.icon-action-btn--purge:hover:not(:disabled),.icon-action-btn--purge.is-open{color:#9a3412;background:#ffedd5;border-color:#ea580c;box-shadow:0 1px 4px #c2410c2e}.icon-action-btn--add-user{color:#15803d;background:#eef8f2;border-color:#b8dcc8}.icon-action-btn--add-user:hover:not(:disabled){color:#166534;background:#dff0e8;border-color:#16a34a;box-shadow:0 1px 4px #15803d2e}.icon-action-btn--edit{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.icon-action-btn--edit:hover:not(:disabled){color:#1e40af;background:#dbeafe;border-color:#2563eb;box-shadow:0 1px 4px #1d4ed82e}.icon-action-btn:focus-visible{outline-offset:2px;outline:2px solid #2d6a4f}.icon-action-btn:disabled{opacity:.55;cursor:not-allowed}.icon-action-btn.is-busy:disabled{opacity:.92;cursor:wait}.icon-action-btn svg{display:block}.icon-action-btn__spinner{border:2px solid;border-top-color:#0000;border-radius:2px;width:.9rem;height:.9rem;animation:.65s linear infinite icon-action-spin}@keyframes icon-action-spin{to{transform:rotate(360deg)}}.app--admin{flex-direction:column;height:100%;display:flex;overflow:hidden}.app--admin .import-bar{z-index:10;background:#f4f0eb;flex-shrink:0}.app--admin .admin-page{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;padding:1rem 1.5rem 1.25rem;display:flex;overflow:hidden}.admin-page-header{flex-shrink:0;margin-bottom:.75rem}.admin-page-header h2{color:#2d4a3e;margin:0 0 .35rem}.admin-page-split{flex:1;align-items:stretch;gap:.75rem;min-height:0;display:grid}.admin-page-split--both{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.admin-page-split--settings-only{grid-template-columns:minmax(0,1fr) 2.75rem}.admin-page-split--logs-only{grid-template-columns:2.75rem minmax(0,1fr)}.admin-page-pane{background:#f8faf9;border:1px solid #d5e0d9;border-radius:12px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.admin-page-pane.is-collapsed{background:#eef3f0}.admin-page-pane-header{background:#f1f5f2;border-bottom:1px solid #dce6e0;flex-shrink:0;align-items:center;gap:.45rem;padding:.45rem .65rem;display:flex}.admin-page-pane--logs .admin-page-pane-header{justify-content:flex-start}.admin-page-pane--settings .admin-page-pane-header{justify-content:space-between}.admin-page-pane-title{color:#2d4a3e;flex:1;margin:0;font-size:.92rem;font-weight:700}.admin-page-pane--logs .admin-page-pane-title{text-align:right}.admin-page-pane-fold{color:#3d5a4c;width:1.75rem;height:1.75rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #c5d4cb;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.95rem;font-weight:700;line-height:1;display:inline-flex}.admin-page-pane-fold:hover{background:#e8f0eb;border-color:#9eb4a8}.admin-page-pane-body{flex:1;min-width:0;min-height:0;padding:.75rem}.admin-page-pane-rail{color:#3d5a4c;cursor:pointer;width:100%;min-height:0;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:.5rem .15rem;display:flex}.admin-page-pane-rail:hover{color:#1b4332;background:#e4ece7}.admin-page-pane-rail-label{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.04em;font-size:.82rem;font-weight:700}.admin-page-pane--settings.is-collapsed .admin-page-pane-rail-label{transform:rotate(180deg)}.admin-page-pane-rail-chevron{font-size:1rem;font-weight:700;line-height:1}.admin-page-col{flex-direction:column;gap:1rem;min-width:0;min-height:0;display:flex}.admin-page-col--main{overflow-y:auto}.admin-page-col--activity{min-height:0;overflow:hidden}.admin-page-col--activity .user-activity-panel,.admin-page-col--activity .query-log-panel{flex-direction:column;flex:none;min-height:0;max-height:none;display:flex;overflow:hidden}.admin-page-col--activity .user-activity-panel.is-expanded,.admin-page-col--activity .query-log-panel.is-expanded{flex:1 1 0;min-height:0;max-height:100%}.user-activity-body{flex-direction:column;flex:1;min-height:0;margin-top:.35rem;display:flex;overflow:auto}.query-log-settings{background:#f8faf9;border:1px solid #d8e5de;border-radius:8px;margin:.35rem 0 .65rem;padding:.65rem .75rem}.query-log-settings-panel{margin-top:0}.query-log-settings-body{border-top:1px solid #dce6e0;margin-top:.65rem;padding-top:.55rem}.query-log-settings-field{color:#334155;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;display:flex}.query-log-settings-field select{max-width:18rem;font:inherit;border:1px solid #cbd5e1;border-radius:6px;padding:.35rem .5rem;font-weight:500}.query-log-settings-hint{margin:.4rem 0 .55rem}.query-log-filters{flex-wrap:wrap;flex-shrink:0;gap:.75rem;margin-bottom:.65rem;display:flex}.query-log-filters label{color:#64748b;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:600;display:flex}.query-log-filters select{min-width:8rem;font:inherit;border:1px solid #cbd5e1;border-radius:6px;padding:.3rem .45rem}.query-log-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:46rem;font-size:.72rem}.query-log-table th,.query-log-table td{text-align:left;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-bottom:1px solid #e8e4de;padding:.4rem .5rem;overflow:hidden}.query-log-table th{letter-spacing:.01em;font-size:.68rem;font-weight:700}.query-log-table .user-activity-user-filter{width:100%;max-width:100%}.query-log-table .query-log-col-date{white-space:nowrap;width:8.75rem;min-width:8.75rem;max-width:9.25rem;padding-left:.35rem!important;padding-right:.35rem!important}.query-log-table .query-log-timestamp{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:#4b5563;font-size:.7rem;display:inline-block}.query-log-table .query-log-col-user{width:9rem}.query-log-table .query-log-col-query{width:22%}.query-log-table .query-log-col-category{width:8rem}.query-log-table .query-log-col-result{width:6.5rem}.query-log-table .query-log-col-preview{width:auto}.query-log-table .query-log-col-feedback{text-align:center;font-variant-numeric:tabular-nums;width:4.25rem;font-weight:700}.query-log-table thead .query-log-col-feedback .user-table-header-filter{flex-direction:column;align-items:center;gap:.2rem}.query-log-table thead .query-log-feedback-filter{width:100%;min-width:0;max-width:3.75rem;padding:.1rem .15rem;font-size:.72rem}.query-log-feedback-heading{color:#64748b;justify-content:center;align-items:center;line-height:0;display:inline-flex}.query-log-feedback--up{color:#047857}.query-log-feedback--down{color:#b91c1c}.query-log-feedback--none{color:#94a3b8;font-weight:500}.query-log-result{font-weight:700;font-size:inherit}.query-log-result--success{color:#047857}.query-log-result--failed{color:#b91c1c}.query-log-result--ambiguous{color:#b45309}.user-activity-header h3{color:#2d4a3e;margin:0;font-size:1rem}.user-activity-header{flex-shrink:0}.user-activity-header-row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.user-activity-title-toggle{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:.35rem;margin:0;padding:0;display:inline-flex}.user-activity-title-toggle h3{margin:0}.user-activity-chevron{color:#64748b;flex-shrink:0;justify-content:center;align-items:center;min-width:1.75rem;min-height:1.75rem;font-size:1.35rem;line-height:1;display:inline-flex}.user-activity-header-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.user-activity-header-actions .icon-action-btn{border-radius:9px;width:2.5rem;height:2.5rem}.user-activity-header-actions .icon-action-btn svg{width:1.2rem;height:1.2rem}.user-activity-header-actions .user-activity-timezone-filter{box-sizing:border-box;width:auto;max-width:11.5rem;height:2.5rem;padding:.35rem .45rem;font-size:.72rem}.user-management-table-actions .icon-action-btn{border-radius:8px;width:2rem;height:2rem}.user-management-table-actions .icon-action-btn svg{width:1rem;height:1rem}.user-activity-table-wrap{background:#fff;border:1px solid #d8e5de;border-radius:10px;flex:1;width:100%;min-height:0;margin-top:.75rem;overflow:auto}.user-activity-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:.72rem}.user-activity-table th,.user-activity-table td{text-align:left;vertical-align:middle;background:#fff;border-bottom:1px solid #e8e4de;padding:.4rem .5rem}.user-activity-table th.user-activity-col-user,.user-activity-table td.user-activity-col-user{white-space:nowrap;width:28%;min-width:10rem;max-width:15rem;padding-right:.5rem!important}.user-activity-table th.user-activity-col-time,.user-activity-table td.user-activity-col-time{white-space:nowrap;text-overflow:clip;width:8.75rem;min-width:8.75rem;max-width:9.25rem;overflow:hidden;padding-left:.35rem!important;padding-right:.35rem!important}.user-activity-timezone-filter{max-width:10rem;padding:.15rem .25rem;font-size:.65rem}.user-activity-timezone-filter--browser{color:#1b4332;background:#eef8f2;border-color:#2d6a4f;font-weight:650}.user-activity-table th.user-activity-col-activity,.user-activity-table td.user-activity-col-activity{white-space:normal;word-break:break-word;width:auto;min-width:8rem;padding-left:.5rem!important;padding-right:.5rem!important}.user-activity-timestamp{white-space:nowrap;color:#4b5563;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:.7rem;display:inline-block}.user-activity-email{font-size:inherit;color:#374151;display:block}.user-activity-user-filter{font:inherit;color:#2d4a3e;background:#fff;border:1px solid #c5d4cc;border-radius:5px;max-width:11rem;padding:.2rem .35rem;font-size:.68rem;font-weight:500}.user-activity-table th{color:#2d4a3e;letter-spacing:.01em;z-index:1;background:#f4f8f6;font-size:.68rem;font-weight:700;position:sticky;top:0}.user-activity-table thead .user-table-header-filter,.query-log-table thead .user-table-header-filter{white-space:normal;grid-template-rows:1.1rem 1.55rem;place-items:center start;gap:.3rem;width:100%;display:grid}.user-activity-table thead .user-table-header-filter>span:first-child,.query-log-table thead .user-table-header-filter>span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.1rem;overflow:hidden}.user-table-header-filter__spacer{width:100%;height:1.55rem;display:block}.user-activity-table thead .user-activity-user-filter,.query-log-table thead .user-activity-user-filter{box-sizing:border-box;width:100%;max-width:100%;height:1.55rem;margin:0;line-height:1.2}.user-activity-table thead .user-activity-col-user,.user-activity-table thead .user-activity-col-time,.user-activity-table thead .user-activity-col-activity,.query-log-table thead th{vertical-align:bottom;white-space:normal;overflow:visible}.user-activity-table th.user-activity-col-user,.user-activity-table th.user-activity-col-time,.user-activity-table th.user-activity-col-activity{background:#f4f8f6}.user-activity-table tbody tr:last-child td{border-bottom:none}.user-activity-table td.user-activity-empty-filter{color:#64748b;text-align:left;padding:1rem .75rem;font-size:.72rem}.user-activity-table tbody tr:hover{background:#fafcfb}.user-activity-purge{background:#ffffffa6;border:1px solid #e8d4a8;border-radius:8px;margin-bottom:1rem;padding:.85rem 1rem}.user-activity-purge-title{color:#6b4f1d;margin:0 0 .25rem;font-weight:600}.user-activity-purge-hint{margin:0 0 .75rem}.user-activity-purge-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;display:grid}.user-activity-purge-field{color:#4b5563;flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.user-activity-purge-field--wide{grid-column:1/-1}.user-activity-purge-field select,.user-activity-purge-field input{font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.35rem .5rem}.user-activity-purge-actions{flex-wrap:nowrap;align-items:center;gap:1rem;margin-top:.85rem;display:flex}.user-activity-purge-match{flex:auto;min-width:0;margin:0}.user-activity-purge-actions .danger-btn{white-space:nowrap;flex:none;margin-left:auto}.secondary-btn--active{background:#e8eef8;border-color:#9eb4d8}@media (width<=1100px){.admin-page-split,.admin-page-split--both,.admin-page-split--settings-only,.admin-page-split--logs-only{grid-template-columns:1fr;overflow-y:auto}.admin-page-pane.is-collapsed{display:none}.admin-page-pane-header{z-index:2;position:sticky;top:0}.admin-page-pane-fold{display:none}.admin-page-col--main,.admin-page-col--activity{max-height:none;overflow:visible}.admin-page-col--activity .user-activity-panel.is-expanded,.admin-page-col--activity .query-log-panel.is-expanded{flex:none;max-height:min(70vh,36rem)}}.admin-section{border:1px solid #0000;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 4px #0000000f}.admin-section--health{background:linear-gradient(165deg,#e8f5ef 0%,#f6fbf8 55%,#fff 100%);border-color:#9ec9b0;box-shadow:0 2px 8px #2d6a4f14}.admin-section--database{background:linear-gradient(165deg,#eef2f6 0%,#f7f9fb 55%,#fff 100%);border-color:#b0bec8;box-shadow:0 2px 8px #47556914}.admin-section--database .database-stats-toggle h3{color:#334155}.admin-section--users{background:linear-gradient(165deg,#e8eef8 0%,#f5f8fc 55%,#fff 100%);border-color:#9eb4d8;box-shadow:0 2px 8px #2563eb14}.admin-section--engagement{background:linear-gradient(165deg,#eef8f2 0%,#f7fbf8 55%,#fff 100%);border-color:#9ec5b0;box-shadow:0 2px 8px #2d6a4f14}.admin-section--query-logging{background:linear-gradient(165deg,#eef2f6 0%,#f7f9fb 55%,#fff 100%);border-color:#b0bec8;box-shadow:0 2px 8px #47556914}.admin-section--query-logging .database-stats-toggle h3{color:#334155}.admin-section--query-logs{background:linear-gradient(165deg,#faf3e6 0%,#fdfaf4 55%,#fff 100%);border-color:#d4b87a;box-shadow:0 2px 8px #b482281a}.admin-section--query-logs .user-activity-header h3{color:#6b4f1a}.admin-section--query-logs .user-activity-table th,.admin-section--query-logs .user-activity-table thead th,.admin-section--query-logs .query-log-table th,.admin-section--query-logs .query-log-table thead th{background:#f7f0e3}.admin-section--activity{background:linear-gradient(165deg,#faf3e6 0%,#fdfaf4 55%,#fff 100%);border-color:#d4b87a;box-shadow:0 2px 8px #b482281a}.admin-section--health .database-stats-toggle h3{color:#1b4332}.admin-section--users .user-management-header h3,.admin-section--users .user-management-toggle h3{color:#1e3a5f}.admin-section--users .user-management-toggle h3,.admin-section--query-logging .database-stats-toggle h3,.admin-section--engagement .database-stats-toggle h3,.admin-section--health .database-stats-toggle h3,.admin-section--database .database-stats-toggle h3{text-transform:none;letter-spacing:normal;margin:0;font-size:1rem;font-weight:700}.admin-section--users .user-management-table th{background:#edf2f9}.admin-section--activity .user-activity-header h3{color:#6b4f1a}.admin-section--activity .user-activity-table th,.admin-section--activity .user-activity-table thead .user-activity-col-user,.admin-section--activity .user-activity-table thead .user-activity-col-time,.admin-section--activity .user-activity-table thead .user-activity-col-activity{background:#f7f0e3}.admin-section .tree-health-panel,.admin-section .database-stats-panel,.admin-section--query-logging .query-log-settings-panel{box-shadow:none;background:0 0;border:none;margin:0;padding:0}.admin-section+.admin-section{margin-top:1rem}.user-management-header h3{color:#2d4a3e;margin:0 0 .5rem;font-size:1rem}.user-management-toggle{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:0;display:flex}.user-management-toggle h3{margin:0}.user-management-hint{margin:.5rem 0 0;font-size:.78rem}.user-management-chevron{color:#64748b;flex-shrink:0;justify-content:center;align-items:center;min-width:1.75rem;min-height:1.75rem;font-size:1.35rem;line-height:1;display:inline-flex}.user-management-intro{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem 1rem;margin-top:.5rem;display:grid}.user-management-intro-desc{min-width:0;margin:0}.user-management-intro-desc p{margin:0}.user-management-intro-desc p+p{margin-top:.35rem}.user-management-intro-actions{justify-content:flex-end;align-items:flex-start;padding-top:.1rem;display:flex}.user-management-intro-actions .icon-action-btn{border-radius:9px;width:2.5rem;height:2.5rem}.user-management-intro-actions .icon-action-btn svg{width:1.2rem;height:1.2rem}.user-management-table-wrap{background:#fff;border:1px solid #d8e5de;border-radius:10px;width:100%;min-width:0;margin-top:.75rem;overflow-x:auto}.user-management-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.9rem}.user-management-table th,.user-management-table td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #e8e4de;padding:.65rem .75rem}.user-management-table td.user-management-table-user-cell{white-space:normal;min-width:10rem}.user-management-table th{color:#2d4a3e;white-space:nowrap;background:#f4f8f6;font-size:.82rem;font-weight:700}.user-table-header-sort{align-items:center;gap:.35rem;display:inline-flex}.user-table-sort-btns{flex-direction:row;align-items:center;gap:.1rem;display:inline-flex}.user-table-sort-btn{color:#6b7c74;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.05rem .2rem;font-size:.65rem;line-height:1}.user-table-sort-btn:hover{color:#2d4a3e;background:#e2ebe6}.user-table-sort-btn--active{color:#1e3a2f;background:#d8e5de}.user-table-header-filter{align-items:center;gap:.45rem;display:inline-flex}.user-table-role-filter{font:inherit;color:#2d4a3e;background:#fff;border:1px solid #c5d4cc;border-radius:5px;max-width:7.5rem;padding:.2rem .35rem;font-size:.78rem;font-weight:500}.user-management-table tbody tr:last-child td{border-bottom:none}.user-management-table tbody tr:hover{background:#fafcfb}.user-management-table-user{flex-direction:column;gap:.15rem;display:flex}.user-management-linked-profile{white-space:normal;flex-direction:column;gap:.15rem;line-height:1.3;display:flex}.user-management-linked-profile span{display:block}.user-management-table-user .admin-badge{align-self:flex-start;margin-top:.15rem}.user-management-table-scopes{color:#4b5563;white-space:normal}.scope-roots-cell-list{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.scope-roots-cell-list li{line-height:1.35}.user-management-table-actions{white-space:nowrap;text-align:center;vertical-align:middle;width:1%;padding-left:.45rem;padding-right:.45rem}.user-management-table th.user-management-table-actions,.user-management-table td.user-management-table-actions{width:1%;padding-left:.45rem;padding-right:.45rem}.user-management-action-group{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.user-management-action-group .danger-btn,.user-management-action-group .secondary-btn{padding:.3rem .55rem;font-size:.82rem}.user-management-row--inactive{opacity:.72}.account-status-badge{color:#1e5631;background:#e8f5ec;border-radius:999px;padding:.2rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.account-status-badge--inactive{color:#b91c1c;background:#fef2f2}.engagement-email-body{border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.75rem}.engagement-email-actions{margin-bottom:.65rem}.engagement-email-header-row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.engagement-email-header-row h3{color:#1b4332;margin:0}.engagement-email-kind-actions{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.engagement-email-kind-switch label{color:#4b5563;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;display:flex}.engagement-email-kind-switch select{font:inherit;background:#fff;border:1px solid #d0ddd6;border-radius:7px;min-width:14rem;padding:.35rem .5rem;font-weight:500}.engagement-email-template-section{background:#f7fbf8;border:1px solid #d8e5de;border-radius:10px;flex-direction:column;gap:.55rem;padding:.45rem .55rem;display:flex}.engagement-email-template-toggle{color:#1b4332;width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.35rem .4rem;font-size:.85rem;font-weight:650;display:flex}.engagement-email-template-toggle:hover{background:#eef8f2}.engagement-email-template-toggle-icon{color:#64748b;flex-shrink:0;justify-content:center;align-items:center;min-width:1.75rem;min-height:1.75rem;font-size:1.35rem;line-height:1;display:inline-flex}.engagement-email-template{flex-direction:column;gap:.55rem;padding:.15rem .25rem .45rem;display:flex}.engagement-email-field{color:#4b5563;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;display:flex}.engagement-email-field input,.engagement-email-field textarea{font:inherit;color:#1a1a2e;background:#fff;border:1px solid #d0ddd6;border-radius:8px;padding:.45rem .6rem;font-weight:400}.engagement-email-field textarea{resize:vertical;min-height:10rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.45}.engagement-email-placeholders{word-break:break-word;margin:0;font-size:.75rem}.engagement-email-template-actions{justify-content:flex-start;display:flex}.engagement-email-modal{background:0 0;border:none;width:min(52rem,100vw - 2rem);max-width:min(52rem,100vw - 2rem);height:fit-content;max-height:calc(100vh - 2rem);margin:auto;padding:0;position:fixed;inset:0}.engagement-email-modal::backdrop{background:#0f172a73}.engagement-email-modal__panel{color:#1f2937;background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;max-height:calc(100vh - 2rem);padding:1.1rem 1.25rem 1.15rem;display:flex;overflow:hidden;box-shadow:0 18px 50px #0f172a38}.engagement-email-modal__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.engagement-email-modal__header h2{margin:0 0 .35rem;font-size:1.2rem}.engagement-email-modal__header .hint{margin:0}.engagement-email-modal__close{color:#64748b;cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1.4rem;line-height:1}.engagement-email-contributors{background:#f7fbf8;border:1px solid #d8e5de;border-radius:10px;margin:0 0 14px;padding:12px 14px}.engagement-email-contributors h4{margin:0 0 6px;font-size:.95rem;font-weight:600}.engagement-email-contributors-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.engagement-email-contributors-list li{justify-content:space-between;gap:12px;font-size:.9rem;display:flex}.engagement-email-contributors-list span{color:#4b5563;white-space:nowrap}.engagement-email-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.engagement-email-table-wrap{border:1px solid #d8e5de;border-radius:10px;min-height:0;max-height:min(50vh,24rem);overflow:auto}.engagement-email-table{border-collapse:collapse;width:100%;font-size:.85rem}.engagement-email-table th,.engagement-email-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8eee9;padding:.55rem .65rem}.engagement-email-table th{text-transform:uppercase;letter-spacing:.03em;color:#2d6a4f;background:#eef8f2;font-size:.75rem;position:sticky;top:0}.engagement-email-table tbody tr.is-selected{background:#f3faf6}.engagement-email-col-check{width:2rem}.engagement-email-user{flex-direction:column;gap:.1rem;display:flex}.engagement-email-user span{color:#64748b;font-size:.8rem}.engagement-email-result{margin:0}.engagement-email-modal__actions{justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.user-form-modal{background:0 0;border:none;width:min(34rem,100vw - 2rem);max-width:min(34rem,100vw - 2rem);height:fit-content;max-height:calc(100vh - 2rem);margin:auto;padding:0;position:fixed;inset:0}.user-form-modal::backdrop{background:#0f172a73}.user-form-modal__panel{color:#1f2937;background:#fff;border:1px solid #d8e5de;border-radius:12px;flex-direction:column;gap:.75rem;max-height:calc(100vh - 2rem);padding:1rem 1.1rem 1.1rem;display:flex;overflow-y:auto;box-shadow:0 18px 48px #0003}.user-form-modal__header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.user-form-modal__header h2{color:#2d4a3e;margin:0;font-size:1.05rem}.user-form-modal__close{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.5rem;line-height:1}.user-form-modal__close:hover{color:#1f2937}.user-form-modal__section{background:#f8faf9;border:1px solid #e8e4de;border-radius:8px;padding:.65rem .75rem}.user-form-modal__section .field-label{margin:0 0 .35rem}.user-form-modal__account-section{background:#faf8f6;border:1px solid #e8e4de;border-radius:8px;padding:.65rem .75rem}.user-form-modal__account-section .field-label{margin:0 0 .35rem}.user-form-modal__account-status{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .65rem;display:flex}.user-form-modal__account-actions{flex-wrap:wrap;gap:.5rem;display:flex}.user-form-modal__actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.user-form-modal__panel input,.user-form-modal__panel select{width:100%;font:inherit;border:1px solid #d4cfc7;border-radius:6px;margin-top:.25rem;padding:.45rem .6rem}.user-form-modal__panel .password-field input{padding-right:2.35rem}.user-management-add-form{background:#f8faf9;border:1px solid #d8e5de;border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1rem;margin:.75rem 0 0;padding:1rem;display:grid}.user-management-add-form input,.user-management-add-form select{width:100%;margin-top:.25rem}.user-management-add-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.user-management-list{flex-direction:column;gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.user-management-row{border-top:1px solid #e8e4de;padding:.85rem 0}.user-management-row:first-child{border-top:none;padding-top:0}.user-management-identity{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;margin-bottom:.65rem;display:flex}.user-management-email{color:#5a6b63;font-size:.9rem}.user-management-profile{color:#6b7280;font-size:.85rem}.user-management-profile-block{background:#f8f6f3;border:1px solid #e8e4de;border-radius:8px;margin-bottom:.75rem;padding:.65rem .75rem}.user-profile-current{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.5rem 0;display:flex}.user-profile-clear{padding:.25rem .6rem;font-size:.85rem}.user-management-role{max-width:14rem;margin-bottom:.75rem}.user-management-role select{width:100%;font:inherit;border:1px solid #d4cfc7;border-radius:6px;margin-top:.35rem;padding:.45rem .6rem;display:block}.user-management-scopes{background:#f8f6f3;border:1px solid #e8e4de;border-radius:8px;margin-bottom:.75rem;padding:.65rem .75rem}.scope-root-list{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.scope-root-list li{background:#fff;border:1px solid #d4cfc7;border-radius:6px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.9rem;display:flex}.scope-root-remove{color:#b91c1c;cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:1.1rem;line-height:1}.scope-root-search{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.scope-root-search input{min-width:12rem;font:inherit;border:1px solid #d4cfc7;border-radius:6px;flex:1;padding:.45rem .6rem}.scope-search-results{background:#fff;border:1px solid #e8e4de;border-radius:6px;max-height:10rem;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.scope-search-add{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;padding:.45rem .65rem;line-height:1.35;display:block}.scope-search-hint{color:#64748b;font-size:.88em}.scope-search-add:hover:not(:disabled){background:#f0ede8}.scope-search-add:disabled{opacity:.5;cursor:default}.user-management-actions{align-items:center;gap:.75rem;display:flex}.role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.role-badge--admin{color:#1e3a8a;background:#dbeafe}.role-badge--super_user{color:#7c2d12;background:#ffedd5}.role-badge--user{color:#374151;background:#e5e7eb}.self-edit-tools{margin:.75rem 0 1rem}.import-bar h1,.import-bar-title{color:#2d4a3e;margin:0;font-size:2.35rem}.import-bar-title-row{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.import-bar-title-tamil{letter-spacing:.01em;color:#2d6a4f1a;-webkit-text-stroke:1px #2d6a4f6b;flex-shrink:0;font-family:Noto Sans Tamil,Tamil Sangam MN,Tamil MN,sans-serif;font-size:1.55rem;font-weight:700;line-height:1}@supports not (-webkit-text-stroke:1px black){.import-bar-title-tamil{color:#2d6a4f52}}.import-bar-version{letter-spacing:.02em;color:#5a6b63;background:#e8eeeb;border:1px solid #c5d4cc;border-radius:6px;padding:.12rem .45rem;font-size:.72rem;font-weight:600;line-height:1.3}.import-bar-tagline{color:#1d4ed8;margin:.15rem 0 0;font-size:.9rem;font-style:italic}.actions button,.form-actions button{color:#fff;background:#2d6a4f;border:none;border-radius:8px;padding:.5rem 1rem}.actions button.secondary,.form-actions button.secondary{color:#1a1a2e;background:#e8e4de}.empty-state{color:#444;background:#fff;border-radius:12px;padding:2rem}.layout{grid-template-columns:1fr 340px;align-items:start;gap:1.5rem;display:grid}.app-layout{flex:1;grid-template-columns:340px minmax(0,1fr);grid-template-areas:"auth tree";align-items:stretch;gap:0 1rem;width:100%;height:100%;min-height:0;padding:0 1rem 1rem;display:grid}.app-layout--sidebar-collapsed{grid-template-columns:minmax(0,1fr);grid-template-areas:"tree"}.app-layout--login-only{flex:1;grid-template-columns:1fr;grid-template-areas:"auth";justify-content:stretch;gap:0;min-height:0;padding:0;position:relative}.login-stage{flex:1;grid-area:auth;justify-content:center;align-items:center;width:100%;min-height:min(70vh,560px);padding:2rem 1.25rem 2.5rem;display:flex;position:relative;overflow:hidden}.login-stage--auth-page{border-radius:16px;min-height:min(72vh,580px)}.login-backdrop{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.login-backdrop__photo{object-fit:cover;object-position:center 42%;opacity:.72;filter:saturate(.94)contrast(1.08)brightness(.84);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.04)}.login-backdrop__wash{background:linear-gradient(105deg,#f4f0eb9e 0%,#f4f0eb66 38%,#f4f0eb29 100%),radial-gradient(70% 55% at 72% 48%,#e8f5ee3d 0%,#0000 70%),radial-gradient(50% 45% at 18% 72%,#d4e4da24 0%,#0000 65%);position:absolute;inset:0}.login-backdrop__tree{opacity:.62;width:min(720px,92vw);height:auto;animation:.9s ease-out both login-tree-enter,9s ease-in-out .9s infinite login-tree-float;position:absolute;top:50%;right:max(-4%,50% - 22rem);transform:translateY(-50%)}.login-backdrop__lines{opacity:.45;stroke-linecap:round;stroke-linejoin:round}.login-backdrop__node{animation:4.5s ease-in-out infinite login-node-breathe}.login-backdrop__node--g0{animation-delay:0s}.login-backdrop__node--g1{animation-delay:.2s}.login-backdrop__node--g2{animation-delay:.4s}.login-backdrop__node--focus{animation-delay:.6s}.login-backdrop__node--focus rect{fill:#eef8f2;stroke:#1b4332;stroke-width:2px}.login-backdrop__node--g3{animation-delay:.8s}.login-backdrop__node--g4{animation-delay:1s}@keyframes login-tree-enter{0%{opacity:0;transform:translateY(calc(12px - 50%))scale(.98)}to{opacity:.62;transform:translateY(-50%)scale(1)}}@keyframes login-tree-float{0%,to{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 6px))}}@keyframes login-node-breathe{0%,to{opacity:.85}50%{opacity:1}}.auth-col--login{z-index:1;align-self:center;width:min(340px,100%);max-height:none;margin-left:clamp(0rem,8vw,4.5rem);margin-right:auto;position:relative;overflow:visible}.auth-col--login .auth-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;border:1px solid #2d6a4f1f;box-shadow:0 8px 28px #1b43321a}@media (width<=720px){.login-backdrop__photo{object-position:center center;opacity:.56}.login-backdrop__wash{background:linear-gradient(#f4f0ebad 0%,#f4f0eb7a 100%),radial-gradient(90% 60% at 50% 40%,#e8f5ee2e 0%,#0000 70%)}.login-backdrop__tree{opacity:.28;width:min(560px,120%);animation:.9s ease-out both login-tree-enter-mobile;right:50%;transform:translate(50%,-48%)}.auth-col--login{margin-left:auto;margin-right:auto}.login-stage--auth-page .auth-panel{width:min(24rem,100%)}}@keyframes login-tree-enter-mobile{0%{opacity:0;transform:translate(50%,calc(10px - 48%))scale(.98)}to{opacity:.28;transform:translate(50%,-48%)scale(1)}}@media (prefers-reduced-motion:reduce){.login-backdrop__tree,.login-backdrop__node{animation:none}}.tree-col{flex-direction:column;grid-area:tree;min-width:0;min-height:0;display:flex;position:relative}.tree-workspace{flex-direction:column;flex:1;gap:.75rem;height:100%;min-height:0;display:flex}.tree-workspace--profile-collapsed{padding-left:2.1rem}.page-limit-notice{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin:0;padding:.55rem .75rem;font-size:.9rem}.ego-graph-tree.gen-tree{flex-direction:column;flex:1;gap:.35rem;min-height:0;padding:.45rem .75rem .55rem;display:flex}.ego-graph-tree .tree-header-row{align-items:flex-start;gap:.5rem;margin-bottom:0}.ego-graph-tree .tree-title{gap:.2rem .4rem;line-height:1.2}.ego-graph-tree h2.tree-title{font-size:1.125rem}.ego-graph-tree .tree-interaction-hint{align-items:center;gap:.35rem;margin:.2rem 0 0;font-size:.72rem;line-height:1.3;display:flex}.ego-graph-tree .tree-header-icon-actions .icon-action-btn,.ego-graph-tree .tree-header-find .icon-action-btn{border-radius:7px;width:2rem;height:2rem}.ego-graph-tree .page-hint-name--focus{font-size:inherit;font-weight:700}.app-layout--form-open{grid-template-columns:340px 340px minmax(0,1fr);grid-template-areas:"auth form tree"}.form-col{flex-direction:column;grid-area:form;align-self:stretch;gap:1rem;min-width:0;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden auto}.form-col>.person-form-column--fill{flex-direction:column;flex:0 auto;align-self:stretch;width:100%;height:auto;min-height:0;max-height:100%;display:flex;overflow:hidden}.form-col>.person-form-column--fill>.person-form-column-header{flex-shrink:0}.person-form-column-header{margin-bottom:.75rem}.person-form-column-header h2{margin:0;font-size:1.35rem}.person-form-column-subtitle{color:#666;margin:.35rem 0 0;font-size:.9rem}.form-unsaved-star{color:#e6a800;font-weight:700}.add-form--embedded{background:0 0;border-radius:0;margin-top:0;padding:0}.person-edit-form--embedded h3{display:none}.person-form-column .field-label{text-align:right;font-weight:700}.person-form-column .field-label--optional,.field-label--optional{font-weight:400}.field-label--optional em{font-style:italic;font-weight:400}.living-status-legend{float:none;width:100%;margin-bottom:.35rem;padding:0;display:block}.person-form-column .field-hint{text-align:right;font-weight:400}.person-form-column .living-status-radios{justify-content:flex-start}.person-form-column .field-label input,.person-form-column .field-label select,.person-form-column .field-label textarea,.person-form-column .person-edit-form input,.person-form-column .person-edit-form select,.person-form-column .person-edit-form textarea,.person-form-column .add-form input:not([type=checkbox]),.person-form-column .add-form select,.person-form-column .add-form textarea,.person-form-column .rel-picker-trigger,.person-form-column .living-status-radio{background:#fff;font-weight:400}.auth-col{flex-direction:column;grid-area:auth;align-self:stretch;gap:1rem;min-width:0;height:auto;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden auto}.auth-col--collapsed{display:none!important}.profile-sidebar-toggle{color:#2d6a4f;cursor:pointer;background:#faf8f5;border:1px solid #d4cfc7;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;margin:0;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.profile-sidebar-toggle:hover{background:#e8f5ee;border-color:#2d6a4f}.profile-sidebar-toggle:focus-visible{outline-offset:2px;outline:2px solid #2d6a4f}.profile-sidebar-toggle-icon{letter-spacing:-.08em;font-size:.85rem;font-weight:700;line-height:1}.profile-sidebar-toggle--tree{z-index:20;position:absolute;top:0;left:0}.person-panel-toolbar{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.person-panel-toolbar-badges{align-items:center;gap:.5rem;min-width:0;display:flex}.person-header-top{align-items:flex-start;gap:.75rem;display:flex}.person-header-aside{flex-direction:column;flex:1;align-items:flex-end;gap:.4rem;min-width:0;min-height:120px;padding-top:.1rem;display:flex}.person-header-badges{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}@media (width<=900px){.layout{grid-template-columns:1fr}.app-layout{grid-template-columns:1fr;grid-template-areas:"auth""tree";gap:.75rem}.app-layout--sidebar-collapsed{grid-template-areas:"tree"}.app-layout--form-open{grid-template-areas:"auth""form""tree"}.form-col,.auth-col{max-height:none;position:static}}.gen-tree{background:#fff;border-radius:12px;flex-direction:column;flex:1;min-height:0;padding:1.25rem;display:flex;box-shadow:0 2px 8px #0000000f}.gen-tree h2{margin:0;font-size:1.1rem}.tree-title{flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;line-height:1.35;display:flex}.tree-title-couple{color:#0f172a;font-weight:700}.tree-title-sep{color:#94a3b8;margin:0 .35rem;font-weight:400}.tree-title-suffix{color:#64748b;white-space:nowrap;font-size:.92em;font-weight:500}.tree-interaction-hint{color:#64748b;align-items:center;gap:.4rem;min-width:0;margin:.65rem 0 0;font-size:.78rem;font-weight:400;display:flex}.tree-interaction-hint .icon-action-btn{flex-shrink:0;width:1.85rem;height:1.85rem}.tree-interaction-hint .icon-action-btn svg{width:1rem;height:1rem}.person-chip.is-ancestor-expanded{box-shadow:0 0 0 2px #8b5cf6}.tree-header{flex-direction:column;flex-shrink:0;gap:.4rem;margin-bottom:.25rem;display:flex}.tree-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tree-header-title-block{flex:12rem;min-width:0}.tree-header-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:2.1rem;display:flex}.tree-header-members{color:#4b5563;white-space:nowrap;margin:0;font-size:.82rem;font-weight:400}.tree-header-find{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.4rem;margin-left:auto;display:flex}.tree-header-view-menus{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.tree-header-view-menus .icon-action-btn{border-radius:7px;width:2rem;height:2rem}.tree-header-view-menus .icon-action-btn svg{width:1.35rem;height:1.35rem}.tree-layout-badge{color:#0f766e;white-space:nowrap;text-overflow:ellipsis;max-width:9.5rem;font-size:.72rem;font-weight:600;line-height:1.2;overflow:hidden}.tree-header-find-divider{background:#b8cfc4;flex-shrink:0;align-self:stretch;width:1px;min-height:1.75rem;margin:0 .25rem}.tree-header-find .icon-action-btn{border-radius:7px;width:2rem;height:2rem}.tree-header-find .icon-action-btn svg{width:1.35rem;height:1.35rem}.tree-icon-menu{position:relative}.tree-icon-menu__list{z-index:50;background:#fff;border:1px solid #9ec9b0;border-radius:10px;min-width:12.5rem;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .3rem);left:0;box-shadow:0 8px 24px #1b433224}.tree-icon-menu__item{text-align:left;width:100%;font:inherit;color:#1f2937;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:.4rem;padding:.42rem .55rem;font-size:.82rem;display:flex}.tree-icon-menu__item:hover{color:#1b4332;background:#e8f5ee}.tree-icon-menu__item.is-active{color:#1b4332;background:#d8eee2;font-weight:600}.tree-icon-menu__check{text-align:center;color:#2d6a4f;flex-shrink:0;width:.9rem}.tree-header-selects-divider{background:#b8cfc4;flex-shrink:0;align-self:stretch;width:1px;min-height:1.75rem;margin:0 .65rem}.layout-mode-select-wrap{align-items:center;display:inline-flex}.tree-header-actions-divider{background:#b8cfc4;flex-shrink:0;align-self:stretch;width:1px;min-height:1.75rem;margin-right:.65rem}.tree-header-icon-actions{flex-shrink:0;align-items:center;gap:.4rem;margin-left:auto;display:flex}.tree-header-icon-actions .tree-header-find-divider{margin:0 .15rem}.tree-person-search{flex:0 0 13rem;width:13rem;min-width:13rem;max-width:13rem;position:relative}.tree-person-search__input{width:100%;font:inherit;color:#2d4a3e;background:#fff;border:1px solid #b8cfc4;border-radius:999px;padding:.4rem .65rem;font-size:.82rem}.tree-person-search__input:focus{outline-offset:1px;border-color:#2d6a4f;outline:2px solid #2d6a4f}.tree-person-search__input:disabled{opacity:.6}.tree-person-search__results{z-index:40;background:#fff;border:1px solid #9ec9b0;border-radius:10px;max-height:14rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #1b433224}.tree-person-search__empty{color:#6b7280;padding:.45rem .6rem;font-size:.8rem}.tree-person-search__option{text-align:left;width:100%;font:inherit;color:#1f2937;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:.4rem .55rem;font-size:.82rem;display:block}.tree-person-search__option:hover,.tree-person-search__option.is-active{color:#1b4332;background:#e8f5ee}.tree-person-search__hint{color:#b45309;flex:10rem;min-width:0;max-width:28rem;margin:0;font-size:.78rem;line-height:1.3}.tree-person-search__hint.is-empty{visibility:hidden;color:#0000}.tree-toolbar-guide{color:#64748b;white-space:nowrap;text-overflow:ellipsis;flex:10rem;min-width:0;margin:0;font-size:.78rem;font-weight:400;line-height:1.3;overflow:hidden}.layout-mode-select{font:inherit;letter-spacing:.01em;color:#2d4a3e;cursor:pointer;white-space:nowrap;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232d4a3e' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E") right .55rem center no-repeat;border:1px solid #b8cfc4;border-radius:999px;padding:.35rem 1.75rem .35rem .65rem;font-size:.78rem;font-weight:600;line-height:1.2}.layout-mode-select:hover{background-color:#f3faf6;border-color:#2d6a4f}.layout-mode-select:focus{outline-offset:2px;outline:2px solid #2d6a4f}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tree-header-icon-actions .icon-action-btn svg,.tree-header-find .icon-action-btn svg,.tree-header-icon-actions .icon-action-btn__spinner,.tree-header-find .icon-action-btn__spinner{width:1.35rem;height:1.35rem}.tree-back-btn{white-space:nowrap;flex-shrink:0;padding:.35rem .75rem;font-size:.85rem}.hint{color:#666;margin:0 0 1rem;font-size:.85rem}.tree-outline{flex-direction:column;flex:1;align-items:center;gap:0;width:100%;min-height:0;padding:.5rem 0;display:flex}.tree-pedigree{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.tree-viewport{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#a8c5b8 #eef4f0;flex:1;width:100%;min-height:0;max-height:none;padding:1rem;overflow:auto}.tree-viewport::-webkit-scrollbar{width:8px;height:8px}.tree-viewport::-webkit-scrollbar-thumb{background:#a8c5b8;border-radius:4px}.tree-viewport::-webkit-scrollbar-track{background:#eef4f0;border-radius:4px}.tree-centered-axis{isolation:isolate;flex-direction:column;align-items:center;gap:1.75rem;width:max-content;min-width:100%;margin:0 auto;display:flex;position:relative}.tree-centered-axis>.tree-parent-band,.tree-centered-axis>.tree-parents-wrap{z-index:1;position:relative}.tree-connectors-svg{pointer-events:none;z-index:0;position:absolute;top:0;left:0;overflow:visible}.tree-connector-path{fill:none;stroke:#2d6a4f;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;shape-rendering:geometricprecision;opacity:.92}.tree-branch-core{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.tree-parent-anchor{padding-bottom:.1rem}.tree-parent-couple{position:relative}.tree-connector-anchor{pointer-events:none;flex-shrink:0;width:1px;height:1px}.tree-connector-anchor[data-connector-side=bottom]{margin-top:.2rem}.tree-connector-anchor[data-connector-side=top]{margin-bottom:.2rem}.tree-children-band{z-index:1;flex-direction:column;align-items:center;padding-top:0;display:flex;position:relative}.tree-parent-band{flex-direction:column;align-items:center;width:100%;padding:.15rem 0;display:flex}.tree-parent-rail{flex-wrap:nowrap;align-items:flex-start;gap:.75rem;display:inline-flex}.tree-profile-band{box-sizing:border-box;align-self:stretch;width:100%;min-width:100%}.tree-profile-rail{grid-template-columns:1fr auto 1fr;align-items:start;gap:.75rem;width:100%;min-width:100%;display:grid}.tree-rail-side{flex-wrap:nowrap;align-items:flex-start;gap:.75rem;min-width:0;display:flex}.tree-rail-side-left{justify-content:flex-end}.tree-rail-side-right{justify-content:flex-start}.tree-profile-center{scroll-snap-align:center;flex-direction:column;flex-shrink:0;grid-column:2;justify-self:center;align-items:center;padding-top:.15rem;padding-bottom:.15rem;display:flex}.tree-profile-column{flex-direction:column;flex-shrink:0;align-items:center;display:flex;position:relative}.tree-profile-children-branch{z-index:1;flex-direction:column;align-items:center;width:max-content;max-width:100%;margin-top:.75rem;padding-top:.75rem;display:flex;position:relative}.tree-profile-children-rail{flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:.65rem;padding-top:.5rem;display:flex}.tree-stem-up,.tree-stem-down{background:#2d6a4f;flex-shrink:0;width:2px;height:1.25rem}.tree-parent-stem{justify-content:center;width:100%;display:flex}.tree-parents-band{padding-bottom:0}.tree-parents-pair-row{flex-wrap:nowrap;align-items:flex-start;gap:0;display:inline-flex}.tree-parents-dual{grid-template-columns:1fr 1fr;align-items:start;gap:0;min-width:0;display:grid}.tree-parent-slot{flex-direction:column;justify-self:center;align-items:center;display:flex}.tree-parent-half-spouse{flex-wrap:nowrap;justify-content:flex-start;justify-self:start;align-items:flex-start;gap:.75rem;display:inline-flex}.tree-parent-couple .tree-couple{border-color:#2d6a4f;box-shadow:0 2px 6px #2d6a4f22}.tree-children-rail{z-index:1;flex-wrap:nowrap;align-items:flex-start;gap:.75rem;margin-top:0;padding-top:.35rem;display:inline-flex;position:relative}.tree-child-node{flex-direction:column;flex-shrink:0;align-items:center;display:flex;position:relative}.tree-parents-wrap{width:100%;margin-bottom:.35rem;position:relative}.tree-parents-couples{padding-bottom:.15rem}.tree-parents-expansion-band{margin-top:.35rem;padding-top:.25rem}.tree-wing-head{flex-shrink:0}.tree-wing-expansion-empty{min-width:0;min-height:0}.tree-parent-wing-expansion{z-index:2;background:#f4faf6;border:1px solid #2d6a4f22;border-radius:10px;flex-direction:column;align-items:center;min-width:max-content;margin:.2rem .2rem .35rem;padding:.5rem .6rem .65rem;display:flex;position:relative}.tree-expansion-spacer{min-height:0}.tree-split-connectors-svg{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.tree-wing-column{z-index:1;flex-direction:column;flex-shrink:0;align-items:center;display:flex;position:relative;overflow:visible}.tree-wing-connectors-svg{pointer-events:none;z-index:0;position:absolute;top:0;left:0;overflow:visible}.tree-wing-node{flex-direction:column;flex:none;align-items:center;display:flex}.tree-pedigree .person-chip,.tree-pedigree .tree-couple{z-index:2;flex-shrink:0;position:relative}.tree-profile-center,.tree-me-node{scroll-snap-align:center}.person-chip.is-me,.person-chip.is-spouse{background:#bfdbfe;border-color:#1d4ed8;transform:scale(1.04);box-shadow:inset 0 0 0 1px #3b82f655}.person-chip.coupled.is-me,.person-chip.coupled.is-spouse{box-shadow:none;background:0 0;border-color:#0000;transform:none}.person-chip.is-me.focused,.person-chip.is-spouse.focused{background:#93c5fd;box-shadow:0 0 0 2px #1d4ed8}.person-chip.coupled.is-me.focused,.person-chip.coupled.is-spouse.focused{box-shadow:none;background:0 0}.person-chip.coupled.is-me:hover,.person-chip.coupled.is-spouse:hover{background:0 0}.person-chip.is-expanded:not(.is-me):not(.is-spouse){box-shadow:0 0 0 2px #64748b}.person-chip.coupled.is-expanded:not(.is-me):not(.is-spouse){box-shadow:none}.tree-expanded-branch{z-index:2;flex-direction:column;align-items:center;width:max-content;max-width:100%;margin-top:.75rem;padding-top:.25rem;display:flex;position:relative}.tree-expanded-children-rail{flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:.65rem;padding-top:.5rem;display:flex}.tree-sibling-cohort{flex-flow:column wrap;align-items:center;gap:.85rem}.tree-sibling-group{background:#f0f7f3;border:2px solid #2d6a4f55;border-radius:12px;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .75rem .65rem;display:flex;position:relative;box-shadow:0 2px 6px #2d6a4f14}.tree-group-expand-btn{color:#2d6a4f;cursor:pointer;background:#fff;border:1px solid #2d6a4f66;border-radius:6px;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;padding:0;font-size:1rem;font-weight:700;line-height:1;display:flex;position:absolute;top:.35rem;right:.35rem}.tree-group-expand-btn:hover{background:#e8f5ee}.tree-group-expand-btn:focus-visible{outline-offset:1px;outline:2px solid #2d6a4f}.tree-sibling-unit{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.tree-sibling-group-chips{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.5rem;padding-right:1.5rem;display:flex}.tree-sibling-column{flex-direction:column;align-items:center;gap:.45rem;display:flex}.tree-inline-ancestor-column{flex-direction:column;align-items:center;gap:.45rem;display:flex;position:relative}.tree-inline-ancestor-branch{justify-content:center;display:flex}.tree-family-branches-row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.85rem;width:100%;display:flex}.tree-family-branch{flex-direction:column;align-items:center;display:flex;position:relative}.tree-family-group{background:#f8fafc;border:2px solid #1d4ed855;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;padding:.55rem .75rem .65rem;display:flex;box-shadow:0 2px 6px #1d4ed814}.tree-family-group-head{justify-content:center;display:flex}.tree-family-group-children{border-top:1px dashed #cbd5e1;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.55rem;width:100%;padding-top:.35rem;display:flex}.tree-sibling-group .person-chip.is-expanded:not(.is-me):not(.is-spouse){background:#e8f5ee;box-shadow:0 0 0 2px #2d6a4f}.tree-level-wrap{flex-direction:column;align-items:center;width:100%;display:flex}.tree-level{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.75rem;min-width:min-content;padding:.5rem .75rem;display:inline-flex}.tree-spouse-ancestor-wrap{flex-direction:column;align-items:center;gap:.5rem;width:max-content;max-width:100%;display:inline-flex;position:relative}.tree-spouse-ancestors-row{justify-content:center;width:max-content;max-width:100%;display:flex}.tree-spouse-couple-row{flex-shrink:0;align-items:stretch;display:inline-flex}.tree-spouse-couple-row--align{width:100%}.tree-spouse-descendants-cell{z-index:2;justify-content:center;max-width:100%;display:flex}.tree-couple-cell-placeholder{visibility:hidden;pointer-events:none;min-width:4.5rem;min-height:2.1rem;display:block}.tree-ancestors-slot{z-index:2;place-self:end center}.tree-couple-cell{background:#f0f7f3;border:1px solid #2d6a4f55;flex:none;justify-content:center;align-items:center;display:flex}.tree-couple-cell .person-chip{width:max-content;max-width:100%}.tree-couple-cell--a{border-right:none;border-radius:10px 0 0 10px}.tree-couple-cell--heart{border-left:none;border-right:none;justify-content:center;align-items:center;padding:0 .2rem}.tree-couple-cell--b{border-left:none;border-radius:0 10px 10px 0;box-shadow:0 1px 3px #2d6a4f14}.tree-couple-cell.tree-profile-couple{background:#e8f2ff;border-width:2px;border-color:#1d4ed8}.tree-couple-cell--b.tree-profile-couple{box-shadow:0 2px 14px #1d4ed838}.tree-couple--split-grid .person-chip.coupled{box-shadow:none;background:0 0;border:none;border-radius:0}.tree-spouse-ancestor-wrap>.tree-wing-connectors-svg{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tree-inline-ancestor-branch .tree-parent-couple,.tree-inline-ancestor-branch .tree-couple{background:#fff;border:1px solid #94a3b8;border-radius:10px;box-shadow:0 1px 4px #00000014}.tree-couple{z-index:2;background:#f0f7f3;border:1px solid #2d6a4f55;border-radius:10px;flex-shrink:0;align-items:stretch;gap:0;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #2d6a4f14}.tree-couple.tree-profile-couple{background:#e8f2ff;border:2px solid #1d4ed8;box-shadow:0 2px 14px #1d4ed838}.tree-couple .person-chip+.person-chip{border-left:none}.tree-couple-heart{color:#c41e3a;-webkit-user-select:none;user-select:none;flex-shrink:0;align-self:center;align-items:center;padding:0 .2rem;font-size:.8rem;line-height:1;display:flex}.tree-couple:has(.tree-couple-heart) .person-chip+.person-chip{border-left:none}.tree-couple:hover:not(.tree-profile-couple){background:#e8f5ee}.tree-couple:has(.person-chip.focused):not(.tree-profile-couple){background:#dceee4;box-shadow:0 0 0 2px #2d6a4f66}.tree-couple:has(.person-chip.is-expanded:not(.is-me):not(.is-spouse)){box-shadow:0 0 0 2px #64748b}.tree-couple.tree-profile-couple:has(.person-chip.focused){box-shadow:0 2px 14px #1d4ed838,0 0 0 2px #1d4ed8}.person-chip.coupled{box-shadow:none;background:0 0;border:none;border-radius:0}.person-chip.coupled:hover:not(.is-me):not(.is-spouse){background:0 0}.person-chip.coupled.focused:not(.is-me):not(.is-spouse){box-shadow:none;background:0 0}.tree-level-me .person-chip.is-me,.tree-level-me .person-chip.is-spouse{transform:scale(1.04)}.tree-vline{background:linear-gradient(#2d6a4f,#a8c5b8);border-radius:1px;width:2px;height:1.25rem}.tree-level-wrap:last-child .tree-vline{display:none}.gen-row{border-bottom:1px solid #eee;align-items:flex-start;gap:1rem;padding:.75rem 0;display:flex}.gen-row:last-child{border-bottom:none}.gen-label{color:#2d6a4f;flex:0 0 52px;padding-top:.35rem;font-size:.8rem;font-weight:600}.gen-people{flex-wrap:wrap;flex:1;gap:.5rem;display:flex}.person-chip{text-align:left;z-index:2;background:#faf8f5;border:1px solid #d4cfc7;border-radius:8px;flex-direction:column;align-items:flex-start;padding:.45rem .75rem;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.person-chip:hover{border-color:#2d6a4f}.person-chip.focused{background:#e8f5ee;border-color:#2d6a4f;box-shadow:0 0 0 2px #2d6a4f33}.person-chip.expandable{border-style:dashed;border-color:#2d6a4f}.chip-name{font-size:.9rem;font-weight:500}.chip-rel{color:#666;font-size:.7rem}.person-panel{background:#fff;border-radius:12px;flex:none;align-self:flex-start;width:100%;height:fit-content;padding:1.25rem;position:static;top:auto;box-shadow:0 2px 8px #0000000f}.person-panel header h2,.person-header h2{margin:.35rem 0 0;font-size:1.35rem}.person-photo-row,.person-header-top{align-items:flex-start;gap:.75rem;margin-top:0;display:flex}.person-photo{object-fit:cover;background:#eef4f1;border:2px solid #d8e5de;border-radius:10px;flex-shrink:0}.person-photo--placeholder{color:#2d6a4f;justify-content:center;align-items:center;font-size:2.1rem;font-weight:700;display:flex}.person-photo-actions{flex-direction:column;align-items:stretch;gap:.35rem;width:100%;max-width:8.5rem;display:flex}.person-header-aside .person-photo-actions{margin-top:auto}.person-photo-upload{cursor:pointer;text-align:center;margin:0;padding:.35rem .55rem;font-size:.82rem}.person-photo-actions .secondary-btn{padding:.35rem .55rem;font-size:.82rem}.person-photo-upload.is-busy{opacity:.7;pointer-events:none}.person-photo-upload input{display:none}.person-id-hint{color:#888;word-break:break-all;margin:.2rem 0 0;font-family:ui-monospace,monospace;font-size:.7rem}.rel{color:#666;margin:.25rem 0 0;font-size:.9rem}.notes{color:#444;background:0 0;border-radius:0;margin:.75rem 0;padding:0;font-family:Times New Roman,Times,serif;font-size:1.125rem;font-weight:700}.meta{grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0 0 1rem;font-size:.9rem;display:grid}.meta dt{color:#666;font-weight:500}.meta dd{margin:0}.rel-group{margin-bottom:.75rem}.rel-group h3{text-transform:uppercase;letter-spacing:.05em;color:#888;margin:0 0 .35rem;font-size:.75rem}.rel-group ul{margin:0;padding:0;list-style:none}.rel-group li{margin-bottom:.25rem}.rel-group-row{align-items:flex-start;gap:.35rem;display:flex}.rel-group-row--coded{align-items:flex-start;gap:0;display:flex}.rel-group-row--coded .rel-abbrev-prefix{margin-right:.55rem}.rel-abbrev-prefix{color:#64748b;text-align:right;flex:none;min-width:1rem;padding-top:.05rem;font-size:.82rem;font-style:italic;font-weight:600;line-height:1.35}.rel-abbrev-suffix{color:#64748b;font-style:italic;font-weight:500;text-decoration:none}.rel-abbrev--male{color:#1d4ed8}.rel-abbrev--female{color:#db2777}.rel-group .link{color:#1b5e3b;font:inherit;text-underline-offset:3px;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.rel-group-name{white-space:normal;word-break:break-word;flex:1;min-width:0;line-height:1.35}.rel-group .link:hover{color:#2d6a4f}.rel-tag{color:#888;font-size:.75rem}.rel-group .empty{color:#999;margin:0;font-size:.85rem;font-style:italic}.actions{border-top:1px solid #eee;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.add-form{background:#faf8f5;border-radius:8px;margin-top:1rem;padding:1rem}.add-form h3{text-transform:capitalize;margin:0 0 .75rem;font-size:.95rem}.add-form input:not([type=checkbox]),.add-form select,.add-form textarea,.auth-panel input{width:100%;font:inherit;border:1px solid #d4cfc7;border-radius:6px;margin-bottom:.5rem;padding:.5rem .65rem;display:block}.add-form textarea{resize:vertical;min-height:3rem;margin-top:.35rem;margin-bottom:0}.field-label{color:#444;margin-bottom:.75rem;font-size:.85rem;font-weight:500;display:block}.field-label select{width:100%;font:inherit;border:1px solid #d4cfc7;border-radius:6px;margin-top:.35rem;margin-bottom:0;padding:.5rem .65rem;display:block}.living-status-field{border:none;margin:0 0 .75rem;padding:0}.living-status-radios{flex-wrap:wrap;gap:1rem;display:flex}.living-status-radio{color:#444;cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;font-weight:400;display:inline-flex}.living-status-radio input{accent-color:#2d6a4f;margin:0}.field-label input[type=number]{width:100%;font:inherit;border:1px solid #d4cfc7;border-radius:6px;margin-top:.35rem;padding:.45rem .6rem;display:block}.rel-picker{margin-top:.35rem;position:relative}.rel-picker-trigger{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #d4cfc7;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .65rem;display:flex}.rel-picker-trigger:hover{border-color:#a8a29e}.rel-picker-chevron{color:#78716c;margin-left:.5rem;font-size:.75rem}.rel-picker-menu{z-index:40;background:#fff;border:1px solid #d4cfc7;border-radius:8px;max-height:280px;padding:.35rem 0;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.rel-picker-options--common{padding:0 .35rem .35rem}.rel-picker-section{text-transform:uppercase;letter-spacing:.04em;color:#78716c;padding:.45rem .75rem .25rem;font-size:.7rem;font-weight:600}.rel-picker-category-row{padding:0 .35rem}.rel-picker-category-btn{width:100%;font:inherit;text-align:left;cursor:pointer;color:#1c1917;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:.45rem .5rem;font-weight:500;display:flex}.rel-picker-category-btn:hover{background:#f5f5f4}.rel-picker-toggle{color:#2d6a4f;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:1rem;font-weight:600;line-height:1;display:inline-flex}.rel-picker-options{margin:0;padding:0 .35rem .25rem .75rem;list-style:none}.rel-picker-option{width:100%;font:inherit;text-align:left;cursor:pointer;color:#44403c;background:0 0;border:none;border-radius:6px;padding:.4rem .55rem;font-size:.9rem;display:block}.rel-picker-option:hover{background:#ecfdf5}.rel-picker-option--selected{color:#065f46;background:#d1fae5;font-weight:500}.rel-picker-option--disabled,.rel-picker-option:disabled{opacity:.45;cursor:not-allowed;color:#78716c}.rel-picker-option--disabled:hover,.rel-picker-option:disabled:hover{background:0 0}.field-hint{color:#777;margin-top:.35rem;font-size:.75rem;font-weight:400;display:block}.birth-order-edit{background:#f8f6f3;border:1px solid #e8e4de;border-radius:8px;margin:1rem 0;padding:.75rem}.admin-person-tools{margin:.75rem 0 1rem}.admin-person-tools .add-relative-btn,.admin-person-tools .manage-relative-btn,.admin-person-tools .danger-btn,.admin-person-tools .secondary-btn{border-radius:6px;padding:.35rem .65rem;font-size:.875rem}.admin-tool-actions{flex-wrap:wrap;gap:.4rem;display:flex}.admin-tool-actions--profile{flex-wrap:nowrap;align-items:stretch;width:100%}.admin-tool-actions--profile>.secondary-btn,.admin-tool-actions--profile>.danger-btn,.admin-tool-actions--profile>.add-relative-btn{flex:1;min-width:0}.admin-tool-actions--add{flex-wrap:nowrap;align-items:stretch;width:100%;margin-top:.5rem}.admin-tool-actions--add>.add-relative-btn,.admin-tool-actions--add>.manage-relative-btn,.admin-tool-actions--add>.secondary-btn{flex:1;width:auto;min-width:0;padding-left:.5rem;padding-right:.5rem}.person-edit-form h3{margin:0 0 .75rem;font-size:.95rem}.person-edit-form input,.person-edit-form textarea{width:100%;font:inherit;border:1px solid #d4cfc7;border-radius:6px;margin-top:.35rem;padding:.45rem .6rem;display:block}.person-edit-form textarea{resize:vertical;min-height:3rem}.secondary-btn{color:#1a1a2e;font:inherit;cursor:pointer;background:#e8e4de;border:none;border-radius:8px;padding:.5rem 1rem}.secondary-btn:hover:not(:disabled){background:#ddd8d0}.danger-btn{color:#fff;font:inherit;cursor:pointer;background:#b91c1c;border:none;border-radius:8px;padding:.5rem 1rem}.danger-btn:hover:not(:disabled){background:#991b1b}.danger-btn:disabled,.secondary-btn:disabled{opacity:.6;cursor:not-allowed}.link-parent-action{background:#f0f7f3;border:1px solid #2d6a4f33;border-radius:8px;margin:.75rem 0 1rem;padding:.75rem}.link-parent-action h3{margin:0 0 .35rem;font-size:.9rem}.link-child-list{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.birth-order-row{align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.birth-order-row input{flex:1;margin-top:0!important}.rel-group-row .order-badge{flex-shrink:0;min-width:auto;margin-right:0}.rel-group-row--coded .order-badge{margin-right:.35rem}.order-badge{color:#2d6a4f;min-width:1.75rem;margin-right:.35rem;font-size:.75rem;font-weight:600;display:inline-block}.add-context{color:#555;margin:0 0 .75rem;font-size:.9rem}.rel-hint{color:#666;margin:-.25rem 0 .75rem;font-size:.8rem;font-style:italic}.add-relative-btn{color:#fff;width:100%;font:inherit;cursor:pointer;background:#2d6a4f;border:none;border-radius:8px;padding:.55rem 1rem}.add-relative-btn:hover:not(:disabled){background:#245a42}.manage-relative-btn{color:#fff;width:100%;font:inherit;cursor:pointer;background:#475569;border:none;border-radius:8px;padding:.55rem 1rem}.manage-relative-btn:hover:not(:disabled){background:#334155}.actions--split{flex-direction:column}.actions--split .add-relative-btn,.actions--split .secondary-btn{width:100%}.link-existing-spouse-form{background:#f5f8fa;border:1px solid #c5d5e0;border-radius:8px;margin-top:1rem;padding:1rem}.link-existing-spouse-form--embedded{background:0 0;border:none;border-radius:0;margin-top:0;padding:0}.link-existing-spouse-form h3{margin:0 0 .5rem;font-size:.95rem}.person-form-column .link-existing-spouse-form .field-hint,.person-form-column .link-existing-spouse-form .field-label{text-align:left}.link-existing-spouse-form .link-as-label{flex-direction:column;align-items:stretch;gap:.35rem;margin-top:1rem;margin-bottom:.75rem;display:flex}.link-existing-spouse-form .link-as-label .rel-picker{margin-top:0}.link-existing-spouse-form .link-search-label{flex-direction:column;align-items:stretch;gap:.35rem;margin-top:1rem;display:flex}.link-existing-spouse-form .field-label input{width:100%;font:inherit;box-sizing:border-box;border:1px solid #d4cfc7;border-radius:6px;margin-top:0;padding:.45rem .6rem;display:block}.unlink-relative-form--embedded{margin-top:0}.form-col .unlink-relative-form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.person-form-column .unlink-relative-form .field-hint{text-align:left;flex-shrink:0}.unlink-relative-list{flex-direction:column;flex:auto;gap:.35rem;min-height:0;margin:0 0 .75rem;padding:0;list-style:none;display:flex;overflow:auto}.form-col .unlink-relative-form .form-actions{flex-shrink:0}.unlink-relative-item{cursor:pointer;font:inherit;background:#fff;border:1px solid #d8e5de;border-radius:8px;align-items:flex-start;gap:.55rem;padding:.5rem .65rem;display:flex}.unlink-relative-item.is-selected{background:#eef6f1;border-color:#2d6a4f}.unlink-relative-item input{margin-top:.2rem}.unlink-relative-role{color:#4a6358;text-transform:none;letter-spacing:.01em;flex:0 0 6.5rem;font-size:.75rem;font-weight:700}.unlink-relative-name{flex:1;min-width:0;font-size:.9rem;line-height:1.35}.form-actions{gap:.5rem;margin-top:.5rem;display:flex}.layout-wide{grid-template-columns:1fr minmax(300px,340px)}.sidebar-col,.auth-col:not(.auth-col--collapsed){flex-direction:column;align-self:stretch;gap:1rem;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden auto}.main-col,.tree-col{flex-direction:column;gap:1rem;min-width:0;display:flex}.auth-panel{background:#fff;border-radius:12px;margin-bottom:0;padding:1rem 1.25rem;box-shadow:0 2px 8px #0000000f}.auth-panel-info{color:#1b4332;background:#eef8f2;border-radius:8px;padding:.5rem .65rem}.auth-panel-links{flex-direction:column;align-items:flex-end;gap:.2rem;margin-top:0;display:flex}.auth-panel .form-actions--auth-login{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.auth-text-link{color:#2d6a4f;text-underline-offset:.15em;cursor:pointer;font-size:.88rem;line-height:1.25;text-decoration:underline}.auth-text-link:hover{color:#1b4332}.password-field{width:100%;max-width:320px;margin-bottom:.5rem;display:block;position:relative}.password-field--block{max-width:none;margin-bottom:0}.password-field input{width:100%;max-width:none;font:inherit;box-sizing:border-box;border:1px solid #d4cfc7;border-radius:6px;margin-bottom:0;padding:.5rem 2.35rem .5rem .65rem;display:block}.password-field__toggle{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex;position:absolute;top:50%;right:.2rem;transform:translateY(-50%)}.password-field__toggle:hover{color:#1b4332;background:#eef8f2}.password-rule-hint{color:#666;margin:-.15rem 0 .55rem;font-size:.8rem}.field-label .password-rule-hint{margin:.35rem 0 0;display:block}.app--auth-page{flex-direction:column;min-height:100vh;display:flex}.auth-page-main{flex:1;justify-content:center;align-items:stretch;padding:1rem;display:flex}.auth-page-main .auth-panel{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;border:1px solid #2d6a4f1f;width:min(24rem,100%);position:relative;box-shadow:0 8px 28px #1b43321a}.auth-page-main .secondary-link{color:#2d6a4f;align-self:center;font-size:.9rem}.profile-sidebar-title{text-transform:uppercase;letter-spacing:.05em;color:#2d6a4f;margin:0 0 .5rem;font-size:.75rem;font-weight:600}.auth-panel.logged-in{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.auth-profile{flex-direction:column;gap:.25rem;display:flex}.profile-change-hint{color:#666;font-size:.8rem}.profile-actions{margin-bottom:.75rem}.profile-current{color:#1b4332;background:#e8f5ee;border-radius:8px;margin:.5rem 0;padding:.6rem .75rem;font-size:.9rem}.auth-panel form h3{margin:0 0 .5rem}.auth-hint{color:#666;margin:0 0 .75rem;font-size:.85rem}.auth-panel input{width:100%;max-width:320px;font:inherit;border:1px solid #d4cfc7;border-radius:6px;margin-bottom:.5rem;padding:.5rem .65rem;display:block}.auth-panel .password-field{max-width:320px}.auth-panel .password-field input{max-width:none;margin-bottom:0;padding-right:2.35rem}.claimed{color:#2d6a4f}.unclaimed{color:#b8860b}.admin-badge{text-transform:uppercase;letter-spacing:.04em;color:#1e3a8a;background:#dbeafe;border-radius:4px;margin-top:.35rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.claim-btn{color:#fff;background:#1b4332;border:none;border-radius:8px;width:100%;margin:.75rem 0 .25rem;padding:.65rem;font-weight:600}.claim-hint{color:#666;margin:0 0 .75rem;font-size:.8rem}.claim-success{color:#1b4332;background:#e8f5ee;border-radius:8px;margin:.75rem 0;padding:.6rem .75rem;font-size:.9rem}.person-panel.is-me,.person-panel.is-spouse{background:#f0f6ff;border:2px solid #1d4ed8;box-shadow:0 2px 12px #1d4ed81f}.me-badge,.spouse-badge{color:#fff;background:#1d4ed8;border-radius:4px;margin-left:0;padding:.15rem .45rem;font-size:.7rem;display:inline-block}.query-panel{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.chat-bar{background:#fff;border-radius:12px;flex-shrink:0;width:100%;padding:.75rem 1.25rem;box-shadow:0 2px 8px #0000000f}.chat-bar--collapsed{box-shadow:none;background:0 0;justify-content:flex-end;padding:.4rem 1.25rem;display:flex}.chat-expand-btn{font:inherit;color:#1b4332;cursor:pointer;background:#fff;border:1px solid #c5d4cb;border-radius:999px;padding:.4rem .9rem;font-size:.82rem;font-weight:600;box-shadow:0 1px 4px #0000000f}.chat-expand-btn:hover{background:#f3f6f4;border-color:#2d6a4f}.chat-bar-inner{flex-direction:column;gap:.55rem;width:100%;display:flex}.chat-bar-toolbar{justify-content:space-between;align-items:center;gap:.75rem;min-height:1.25rem;display:flex}.chat-bar-title{letter-spacing:.02em;color:#64748b;text-transform:uppercase;font-size:.78rem;font-weight:600;line-height:1.35}.chat-bar-title-row{align-items:center;gap:.4rem;display:inline-flex}.chat-help-wrap{text-transform:none;letter-spacing:0;display:inline-flex;position:relative}.chat-help-btn{color:#2d6a4f;width:1.35rem;height:1.35rem;font:inherit;cursor:pointer;background:#f3f6f4;border:1px solid #c5d4cb;border-radius:999px;padding:0;font-size:.78rem;font-weight:700;line-height:1}.chat-help-btn:hover,.chat-help-btn--open{color:#fff;background:#2d6a4f;border-color:#2d6a4f}.chat-help-panel{z-index:40;color:#1a1a2e;background:#fff;border:1px solid #d8e5de;border-radius:10px;width:min(40rem,92vw);max-height:min(28rem,70vh);padding:.7rem .75rem .65rem;position:absolute;bottom:calc(100% + .45rem);left:0;overflow:auto;box-shadow:0 10px 28px #1a2a2224}.chat-help-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem;margin-bottom:.55rem;display:grid}.chat-help-group{min-width:0;margin-bottom:0}.chat-help-group--screen{margin-bottom:.35rem}@media (width<=520px){.chat-help-groups,.chat-help-list--screen{grid-template-columns:1fr}.chat-help-panel{width:min(22rem,92vw)}}.chat-help-heading{letter-spacing:.04em;text-transform:uppercase;color:#14532d;background:#dcfce7;border-radius:6px;margin:0 0 .35rem;padding:.3rem .5rem;font-size:.72rem;font-weight:800}.chat-help-heading-example{text-transform:none;letter-spacing:0;font-weight:700}.chat-help-heading--screen{color:#1e3a5f;background:#e0f2fe;margin-top:.15rem}.chat-help-section-note{color:#94a3b8;text-transform:none;letter-spacing:0;margin:0 0 .45rem;font-size:.72rem;font-weight:500;line-height:1.35}.chat-help-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.chat-help-list--screen{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .75rem;display:grid}.chat-help-example{text-align:left;width:100%;font:inherit;color:#1b4332;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .5rem;font-size:.82rem;line-height:1.35;display:block}.chat-help-example:hover{background:#eef8f2}.chat-help-example--screen{color:#334155}.chat-help-example--screen:hover{background:#f1f5f9}.chat-help-footnote{color:#94a3b8;margin:.55rem 0 0;font-size:.72rem}.chat-bar-title-note{text-transform:none;letter-spacing:0;color:#94a3b8;margin-top:.15rem;font-size:.72rem;font-weight:500;display:block}.chat-bar-actions{align-items:center;gap:.35rem;display:flex}.chat-tool-btn{font:inherit;color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.2rem .55rem;font-size:.78rem;font-weight:600}.chat-tool-btn:hover{color:#1b4332;background:#f3f6f4;border-color:#dce6e0}.chat-messages{flex-direction:column;gap:.4rem;max-height:11rem;padding-right:.15rem;display:flex;overflow-y:auto}.chat-msg{flex-direction:column;gap:.2rem;max-width:92%;display:flex}.chat-msg--user{align-self:flex-end;align-items:flex-end}.chat-msg--assistant{flex-direction:row;align-self:flex-start;align-items:flex-end;gap:.2rem;max-width:98%}.chat-bubble{white-space:pre-wrap;overflow-wrap:break-word;box-sizing:border-box;border-radius:10px;width:fit-content;max-width:100%;padding:.45rem .7rem;font-size:.88rem;line-height:1.4}.chat-msg--assistant .chat-bubble{flex:0 auto;max-width:calc(100% - 3.2rem)}.chat-bubble--layout-list{white-space:pre;word-break:normal;overflow-wrap:normal}.chat-bubble--user{color:#f8faf8;background:#2d6a4f}.chat-bubble--assistant{color:#1f2937;background:#f3f6f4;border:1px solid #dce6e0}.chat-bubble--busy{color:#64748b;font-style:italic}.chat-feedback{flex-direction:row;flex-shrink:0;align-items:center;gap:.05rem;padding-bottom:.15rem;display:flex}.chat-feedback-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:1.45rem;height:1.45rem;padding:0;transition:color .12s,background .12s;display:inline-flex}.chat-feedback-btn:hover{color:#64748b;background:#e8eee9}.chat-feedback-btn--active.chat-feedback-btn--up{color:#2d6a4f;background:#e2efe8}.chat-feedback-btn--active.chat-feedback-btn--down{color:#9f1239;background:#fce7ef}.chat-path-line{display:inline}.chat-path-label{color:#475569;font-weight:600}.chat-path-arrow{color:#94a3b8;font-weight:500}.chat-path-name{font-weight:700}.chat-path-name--0{color:#0f766e}.chat-path-name--1{color:#1d4ed8}.chat-path-name--2{color:#b45309}.chat-path-name--3{color:#7e22ce}.chat-path-name--4{color:#be123c}.chat-path-name--5{color:#047857}.chat-compose{align-items:flex-end;gap:.5rem;display:flex}.chat-input{width:auto;font:inherit;color:#1a1a2e;resize:none;background:#faf8f5;border:1px solid #d4cfc7;border-radius:10px;flex:1;min-height:2.75rem;margin:0;padding:.55rem .75rem;line-height:1.4}.chat-input:focus{outline-offset:1px;background:#fff;border-color:#2d6a4f;outline:2px solid #2d6a4f}.chat-input::placeholder{color:#94a3b8}.chat-input:disabled{opacity:.65}.chat-send-btn{font:inherit;color:#fff;cursor:pointer;background:#2d6a4f;border:1px solid #1b4332;border-radius:999px;flex-shrink:0;min-height:2.75rem;padding:.55rem 1rem;font-size:.88rem;font-weight:600}.chat-send-btn:hover:not(:disabled){background:#1b4332}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input--readonly{cursor:default;color:#64748b;background:#f0eeea}.chat-input--readonly:focus{background:#f0eeea;border-color:#d4cfc7;outline:none}.query-panel h2{margin:0 0 .25rem;font-size:1.1rem}.query-btn{color:#fff;background:#2d6a4f;border:none;border-radius:8px;width:100%;margin:.75rem 0;padding:.6rem}.relative-types{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;display:flex}.query-result{background:#e8f5ee;border-radius:8px;margin-top:1rem;padding:.75rem}.query-result .rel-label{color:#1b4332;margin:0 0 .35rem;font-size:1.1rem;font-weight:700}.query-result .path{color:#555;margin:.5rem 0 0;font-size:.85rem}.relative-list{margin:.75rem 0 0;padding:0;list-style:none}.relative-list .link{color:#2d6a4f;cursor:pointer;background:0 0;border:none;font-weight:500;text-decoration:underline}.error{color:#b00020;font-size:.9rem}.error.banner{background:#fde8e8;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.loading{text-align:center;padding:2rem}.tree-health-panel{margin-bottom:0}.tree-health-hint{margin:.5rem 0 0;font-size:.78rem}.tree-health-body{border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.75rem}.layout-options-block{margin-bottom:.35rem}.layout-options-heading{color:#134e4a;margin:0 0 .35rem;font-size:.95rem;font-weight:650}.layout-options-list{flex-direction:column;gap:.55rem;margin:.5rem 0 .75rem;padding:0;list-style:none;display:flex}.layout-options-item{margin:0}.layout-options-label{cursor:pointer;align-items:flex-start;gap:.55rem;font-size:.88rem;line-height:1.35;display:flex}.layout-options-label input{flex-shrink:0;margin-top:.2rem}.layout-options-always{color:#64748b;font-weight:500}.layout-options-desc{color:#64748b;margin-top:.15rem;font-size:.8rem;font-weight:400;display:block}.layout-options-divider{border:none;border-top:1px solid #d5e5dc;margin:1rem 0}.tree-health-actions{margin-bottom:.65rem}.database-stats-panel{margin-bottom:0}.database-stats-toggle{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:0;display:flex}.database-stats-toggle h3{margin:0}.database-stats-chevron{color:#64748b;flex-shrink:0;justify-content:center;align-items:center;min-width:1.75rem;min-height:1.75rem;font-size:1.35rem;line-height:1;display:inline-flex}.database-stats-hint{margin:.5rem 0 0;font-size:.78rem}.database-stats-body{border-top:1px solid #e2e8f0;margin-top:.75rem;padding-top:.75rem}.database-stats-actions{margin-bottom:.65rem}.database-stats-summary{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.65rem 1rem;margin:0 0 .85rem;display:grid}.database-stats-summary dt{letter-spacing:.03em;text-transform:uppercase;color:#64748b;font-size:.72rem;font-weight:600}.database-stats-summary dd{color:#1e293b;margin:.15rem 0 0;font-size:.95rem;font-weight:600}.database-stats-backend{color:#64748b;font-size:.82rem;font-weight:500}.database-stats-table{border-collapse:collapse;width:100%;font-size:.85rem}.database-stats-table th,.database-stats-table td{text-align:left;border-bottom:1px solid #e8edf2;padding:.4rem .5rem}.database-stats-table th{text-transform:uppercase;letter-spacing:.03em;color:#64748b;background:#f1f5f9;font-size:.72rem}.database-stats-table td:nth-child(2),.database-stats-table td:nth-child(3),.database-stats-table th:nth-child(2),.database-stats-table th:nth-child(3){text-align:right}.database-stats-table tr.is-profiles td{background:#f8fafc;font-weight:600}.database-stats-table code{font-size:.82rem}.tree-health-results{margin-top:.5rem}.tree-health-summary{font-size:.85rem}.tree-health-summary p{margin:0}.tree-health-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;margin-top:.65rem;display:flex}.tree-health-filter{color:#4b5563;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:inline-flex}.tree-health-filter select{font:inherit;color:#1a1a2e;background:#fff;border:1px solid #d0ddd6;border-radius:7px;max-width:min(100%,16rem);padding:.25rem .45rem;font-weight:500}.tree-health-filter-count,.tree-health-filter-empty{margin:0;font-size:.8rem}.tree-health-filter-empty{margin-top:.65rem}.tree-health-ok{color:#1b4332}.tree-health-list{flex-direction:column;gap:.5rem;max-height:280px;margin:.75rem 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.tree-health-item{background:#faf8f5;border:1px solid #e8e4dc;border-radius:8px;align-items:flex-start;gap:.5rem;padding:.5rem;display:flex}.tree-health-item--error{background:#fff5f5;border-color:#f5c6c6}.tree-health-item--warning{background:#fffbeb;border-color:#f0e0b0}.tree-health-item--info{background:#f0f9ff;border-color:#bae6fd}.tree-health-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;flex-shrink:0;padding:.2rem .35rem;font-size:.65rem;font-weight:700}.tree-health-badge--error{color:#991b1b;background:#fecaca}.tree-health-badge--warning{color:#92400e;background:#fde68a}.tree-health-badge--info{color:#075985;background:#bae6fd}.tree-health-item-body{min-width:0}.tree-health-person{font:inherit;color:#2d6a4f;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.tree-health-message{color:#444;margin:.2rem 0 0;font-size:.8rem;line-height:1.35}.btn-secondary{font:inherit;cursor:pointer;background:#fff;border:1px solid #d4cfc7;border-radius:6px;padding:.35rem .65rem;font-size:.8rem}.btn-secondary:hover:not(:disabled){background:#f5f3ef}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.vamsam-confirm-dialog{background:0 0;border:none;width:min(28rem,100vw - 2rem);max-width:min(28rem,100vw - 2rem);height:fit-content;max-height:calc(100vh - 2rem);margin:auto;padding:0;position:fixed;inset:0}.vamsam-confirm-dialog::backdrop{background:#0f172a73}.vamsam-confirm-dialog__panel{color:#f3f4f6;background:#1e1e1e;border:1px solid #3f3f46;border-radius:14px;padding:1.25rem 1.35rem 1.1rem;box-shadow:0 18px 48px #00000059}.vamsam-confirm-dialog__title{color:#fafafa;margin:0 0 .85rem;font-size:1rem;font-weight:700}.vamsam-confirm-dialog__message{color:#e5e7eb;margin:0 0 1.25rem;font-size:.95rem;line-height:1.45}.chat-save-filename-field{color:#d1d5db;flex-direction:column;gap:.35rem;margin:0 0 1.15rem;font-size:.85rem;font-weight:600;display:flex}.chat-save-filename-field input{font:inherit;color:#fafafa;background:#27272a;border:1px solid #52525b;border-radius:8px;padding:.5rem .65rem;font-size:.92rem;font-weight:500}.chat-save-filename-field input:focus{outline-offset:1px;border-color:#86efac;outline:2px solid #86efac}.vamsam-confirm-dialog__actions{justify-content:flex-end;gap:.55rem;display:flex}.vamsam-confirm-dialog__actions--wrap{flex-wrap:wrap}.vamsam-confirm-dialog__btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;min-width:5.5rem;padding:.45rem 1.1rem;font-size:.9rem;font-weight:600}.vamsam-confirm-dialog__btn--cancel{color:#f9fafb;background:#3f4f3f;border-color:#4b5563}.vamsam-confirm-dialog__btn--cancel:hover{background:#4a5d4a}.vamsam-confirm-dialog__btn--secondary{color:#f4f4f5;background:#3f3f46;border-color:#52525b}.vamsam-confirm-dialog__btn--secondary:hover{background:#52525b}.vamsam-confirm-dialog__btn--confirm{color:#1a2e1a;background:#d9f99d;border-color:#bef264}.vamsam-confirm-dialog__btn--confirm:hover{background:#ecfccb}.vamsam-confirm-dialog__btn:focus-visible{outline-offset:2px;outline:2px solid #86efac}.portal-idle-countdown{font-variant-numeric:tabular-nums;white-space:nowrap}.portal-idle-dirty{color:#b45309;font-weight:500}.vamsam-about-dialog{background:0 0;border:none;width:min(30rem,100vw - 2rem);max-width:min(30rem,100vw - 2rem);height:fit-content;max-height:calc(100vh - 2rem);margin:auto;padding:0;position:fixed;inset:0}.vamsam-about-dialog::backdrop{background:#0f171473}.vamsam-about-dialog__panel{background:linear-gradient(165deg,#eef8f2 0%,#fff 55%);border:1px solid #9ec9b0;border-radius:14px;padding:1.15rem 1.25rem 1.1rem;box-shadow:0 12px 40px #1b43322e}.vamsam-about-dialog__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.vamsam-about-dialog__title{color:#1b4332;margin:0;font-size:1.35rem}.vamsam-about-dialog__title span{color:#2d6a4f;margin-left:.35rem;font-size:1.05rem;font-weight:600}.vamsam-about-dialog__version{color:#4b5563;margin:.2rem 0 0;font-size:.82rem}.vamsam-about-dialog__close{cursor:pointer;color:#374151;background:#fff;border:1px solid #d0ddd6;border-radius:8px;width:2rem;height:2rem;font-size:1.25rem;line-height:1}.vamsam-about-dialog__close:hover{background:#f3f4f6}.vamsam-about-dialog__tagline{color:#2d6a4f;margin:.85rem 0 .5rem;font-size:.95rem;font-weight:600}.vamsam-about-dialog__body{color:#374151;margin:0;font-size:.9rem;line-height:1.45}.vamsam-about-dialog__body--spaced{margin-top:1rem}.vamsam-about-dialog__list{color:#4b5563;margin:.75rem 0 0;padding-left:1.15rem;font-size:.88rem;line-height:1.45}.vamsam-about-dialog__docs{border-top:1px solid #c5d9ce;margin-top:1rem;padding-top:.85rem}.vamsam-about-dialog__docs-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin:0 0 .45rem;font-size:.72rem;font-weight:700}.vamsam-about-dialog__docs-actions{flex-wrap:wrap;gap:.4rem;display:flex}.vamsam-about-dialog__doc-link{color:#fff;background:#1b4332;border:1px solid #1b4332;border-radius:8px;align-items:center;padding:.35rem .65rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.vamsam-about-dialog__doc-link:hover{background:#163828}.vamsam-about-dialog__docs-hint{color:#64748b;margin:.5rem 0 0;font-size:.75rem;line-height:1.35}.vamsam-about-dialog__copyright{color:#64748b;border-top:1px solid #c5d9ce;margin:1rem 0 0;padding-top:.75rem;font-size:.75rem;line-height:1.4}.support-request-dialog{background:0 0;border:none;width:min(560px,100vw - 1.5rem);max-width:min(560px,100vw - 1.5rem);height:fit-content;max-height:calc(100vh - 1.5rem);margin:auto;padding:0;position:fixed;inset:0}.support-request-dialog::backdrop{background:#0f172a73}.support-request-dialog__panel{background:#f7fbf8;border:1px solid #c5d9ce;border-radius:14px;width:min(560px,100vw - 1.5rem);max-height:min(90vh,720px);padding:1.1rem 1.2rem 1.2rem;overflow:auto;box-shadow:0 18px 48px #0f172a38}.support-request-dialog__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.support-request-dialog__header h2{color:#1b4332;margin:0 0 .35rem;font-size:1.15rem}.support-request-dialog__header .hint{margin:0}.support-request-dialog__close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;width:2rem;height:2rem;font-size:1.4rem;line-height:1}.support-request-dialog__close:hover:not(:disabled){color:#1b4332;background:#e8f0ec}.support-request-dialog__success{color:#1b4332;background:#eef8f2;border:1px solid #b8dcc8;border-radius:8px;margin:0;padding:.65rem .75rem;font-size:.9rem}.support-request-dialog__form{flex-direction:column;gap:.75rem;display:flex}.support-request-field{color:#334155;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}.support-request-field input,.support-request-field select,.support-request-field textarea{font:inherit;color:#1a1a2e;background:#fff;border:1px solid #c5d9ce;border-radius:8px;padding:.55rem .65rem;font-weight:400}.support-request-field textarea{resize:vertical;min-height:8rem;line-height:1.45}.support-request-dialog__actions{justify-content:flex-end;gap:.55rem;margin-top:.25rem;display:flex}
