:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;--gt-ink: #182421;--gt-leaf: #25675d;--gt-brass: #a06d2d;--gt-berry: #91424f;--gt-surface: #ffffff;--gt-list-hover: #fdfbf8;--gt-surface-muted: #f5f2ec;--gt-surface-soft: #fbfaf7;--gt-surface-pressed: #ebe5db;--gt-border: #ded8ce;--gt-border-strong: #c8c0b3;--gt-text: #202c2a;--gt-text-muted: #66716e;--gt-heading: #0f1715;background:var(--gt-surface-muted);color:var(--gt-text)}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow:hidden}button,input,textarea,select{font:inherit}select,option,optgroup{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif!important;font-size:14px}gt-workspace-shell{display:block;min-height:100vh}.login-shell,.workspace-shell{background:var(--gt-surface-muted);color:var(--gt-text);min-height:100vh}.login-shell{align-items:center;display:grid;justify-items:center;overflow:auto;padding:24px}.login-panel{background:#ffffffe6;border:1px solid var(--gt-border);border-radius:8px;box-shadow:0 22px 70px #222c3724;display:grid;gap:26px;max-width:440px;padding:28px;width:100%}.workspace-shell{display:grid;grid-template-columns:306px minmax(0,1fr);height:100vh;overflow:hidden;transition:grid-template-columns .16s ease}.workspace-shell.sidebar-collapsed{grid-template-columns:86px minmax(0,1fr)}.admin-shell{background:var(--gt-surface-muted);color:var(--gt-text);display:grid;grid-template-columns:280px minmax(0,1fr);height:100vh;overflow:hidden}.admin-nav{background:#111615;color:#f7f3ea;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;min-height:0;padding:16px}.admin-nav-brand{align-items:center;background:#202423;border:1px solid rgba(255,255,255,.07);border-radius:8px;display:flex;gap:12px;min-height:64px;padding:10px 12px}.admin-nav-brand div{display:grid;gap:2px;min-width:0}.admin-nav-brand strong,.admin-nav-brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav-brand small{color:#f7f3eaa3}.admin-nav nav{display:grid;gap:6px;overflow-y:auto}.admin-nav a,.admin-logout{align-items:center;background:transparent;border:0;border-radius:8px;color:#f7f3eac7;display:flex;gap:12px;min-height:48px;padding:10px 12px}.admin-nav a.active,.admin-nav a:hover,.admin-logout:hover{background:#242a28;color:#fff}.admin-logout{border:1px solid rgba(255,255,255,.08);justify-content:center}.shell-sidebar-toggle,.mobile-sidebar-backdrop{display:none}.drawer-backdrop{background:#12161585;inset:0;position:fixed;z-index:40}gt-person-form{display:block;height:min(920px,100vh - 48px);left:50%;max-width:min(900px,100vw - 48px);position:fixed;top:50%;transform:translate(-50%,-50%);width:860px;z-index:45}.global-nav{background:#fff;border-right:1px solid var(--gt-border);color:var(--gt-text);display:flex;flex-direction:column;gap:18px;grid-column:1;grid-row:1;height:100vh;min-height:0;overflow:visible;padding:14px;position:relative;z-index:3}.shell-sidebar-toggle{align-items:center;background:#fff;border:1px solid var(--gt-border);border-radius:8px;box-shadow:none;color:var(--gt-leaf);display:inline-flex;flex:0 0 auto;height:52px;justify-content:center;min-height:52px;padding:0;width:52px}.shell-sidebar-toggle:hover{background:#25675d14;border-color:#25675d47}.sidebar-collapsed .global-nav{align-items:center;gap:16px;padding:14px 10px}.sidebar-collapsed .sidebar-top,.sidebar-collapsed .sidebar-bottom,.sidebar-collapsed .primary-nav{justify-items:center;width:100%}.brand{align-items:center;display:flex;gap:12px;min-height:44px}.brand-mark{align-items:center;background:var(--gt-leaf);border-radius:8px;color:#fff;display:inline-flex;font-weight:800;height:36px;justify-content:center;width:36px}.brand strong,.brand small{display:block}.brand small{color:#1824219e;font-size:12px;margin-top:2px}.sidebar-top,.sidebar-bottom{flex:0 0 auto;display:grid;gap:10px;position:relative;z-index:4}.context-switcher,.account-button{align-items:center;background:var(--gt-surface-soft);border:1px solid var(--gt-border);color:var(--gt-text);display:flex;gap:12px;justify-content:flex-start;min-height:64px;padding:10px 12px;text-align:left;width:100%}.sidebar-collapsed .context-switcher,.sidebar-collapsed .account-button,.sidebar-collapsed .primary-nav a{display:inline-flex;gap:0;height:54px;justify-content:center;min-height:54px;padding:0;width:54px}.sidebar-collapsed .account-button{height:54px}.sidebar-collapsed .context-switcher{margin-top:0}.sidebar-collapsed .sidebar-label,.sidebar-collapsed .primary-nav small{display:none!important}.context-switcher>span:nth-child(2),.account-button>span:nth-child(2){display:grid;gap:2px;min-width:0}.context-switcher strong,.account-button strong,.popover-heading strong,.account-summary strong{color:var(--gt-ink);line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-switcher small,.account-button small,.popover-heading small,.account-summary small,.tree-card small{color:var(--gt-text-muted);font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-icon,.account-avatar{align-items:center;background:#25675d1a;border:1px solid rgba(37,103,93,.18);border-radius:8px;color:var(--gt-leaf);display:inline-flex;font-weight:800;height:36px;justify-content:center;min-width:36px;width:36px}.context-icon{flex:0 0 36px;line-height:0}.context-icon gt-nav-icon{align-items:center;display:inline-flex;height:20px;justify-content:center;margin:auto;width:20px}.account-avatar{font-size:13px;letter-spacing:0}gt-nav-icon{color:currentColor;display:inline-flex;flex:0 0 auto;height:22px;width:22px}gt-nav-icon svg{fill:none;height:100%;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:100%}.primary-nav,.login-form{display:grid;gap:4px}.primary-nav{align-content:start;flex:1;gap:2px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:4px 2px;scrollbar-color:rgba(24,36,33,.24) transparent;scrollbar-width:thin}.sidebar-collapsed .primary-nav{align-content:start;gap:8px;overflow-x:hidden;overflow-y:auto;padding:0}a{cursor:pointer;text-decoration:none}.primary-nav a{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--gt-text-muted);display:grid;gap:12px;grid-template-columns:24px minmax(0,1fr) auto;min-height:44px;padding:9px 12px;text-align:left;width:100%}.primary-nav a.active{background:#25675d1a;color:var(--gt-leaf)}.sidebar-collapsed .primary-nav a.active{background:#25675d1f}.primary-nav a:hover,.context-switcher:hover,.account-button:hover,.popover-action:hover,.account-popover button:hover{background:var(--gt-surface-soft);color:var(--gt-leaf)}.primary-nav small{background:#a06d2d21;border-radius:999px;color:#8a5a20;font-size:11px;font-weight:800;padding:3px 7px}.sidebar-popover{background:#fff;border:1px solid var(--gt-border);border-radius:8px;box-shadow:0 22px 54px #141c262e;color:var(--gt-text);display:grid;overflow:hidden;position:absolute;width:100%;z-index:10}.context-panel{gap:10px;left:0;padding:12px;right:0;top:calc(100% + 8px)}.popover-heading,.account-summary{display:grid;gap:3px;padding:4px 2px 8px}.account-summary{align-items:center;border-bottom:1px solid var(--gt-border);display:flex;gap:12px;min-width:0;padding:14px}.account-summary>div{min-width:0}.tree-card{align-items:center;background:var(--gt-surface-soft);border:1px solid var(--gt-border);border-radius:8px;display:flex;gap:12px;justify-content:space-between;min-height:68px;padding:12px}.tree-card.active{border-color:#25675dc2;box-shadow:inset 3px 0 0 var(--gt-leaf)}.tree-card strong,.tree-card small{display:block}.tree-card span{color:#8a5a20;font-size:12px;font-weight:800}.tree-actions{border-top:1px solid var(--gt-border);display:grid;gap:2px;padding-top:8px}.popover-action,.account-popover button{align-items:center;background:transparent;border-radius:7px;color:var(--gt-text);display:flex;gap:10px;justify-content:flex-start;min-height:40px;padding:0 10px;text-align:left;width:100%}.danger{color:var(--gt-berry)!important}.danger:not(:disabled):hover,.danger:not(:disabled):focus-visible{background:#91424f1a;color:#7b3442!important}.danger:not(:disabled):active{background:#682c38;color:#fff!important}.sidebar-bottom{margin-top:auto}.account-button{min-height:64px}.account-button gt-nav-icon:last-child,.context-switcher gt-nav-icon:last-child{margin-left:auto}.account-popover{bottom:calc(100% + 8px);left:0;right:0}.account-popover button{border-radius:0;min-height:44px;padding:0 24px}.account-popover button+button{border-top:1px solid var(--gt-border)}.workspace-content,.admin-workspace{display:grid;grid-column:2;grid-row:1;gap:20px;height:100vh;min-height:0;overflow-x:hidden;overflow-y:hidden;padding:14px 28px 28px;scrollbar-color:rgba(24,36,33,.28) transparent;scrollbar-width:thin}.workspace-content{grid-template-rows:auto minmax(0,1fr)}.workspace-content>gt-tree-overview,.workspace-content>gt-tree-chart-page,.workspace-content>gt-family-detail-view,.workspace-content>gt-person-detail-view,.workspace-content>gt-person-list,.workspace-content>gt-family-list{display:block;height:100%;min-height:0;overflow:hidden}.workspace-content>gt-tree-overview{overflow-y:auto;scrollbar-color:rgba(24,36,33,.28) transparent;scrollbar-width:thin}.workspace-content>gt-family-detail-view,.workspace-content>gt-person-detail-view{overflow:hidden}.admin-workspace{grid-template-rows:auto auto 1fr}.admin-workspace.standalone{grid-column:2;grid-template-rows:auto auto 1fr}.workspace-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.workspace-heading{display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr);min-width:0}.workspace-heading .summary{grid-column:2}.workspace-title-copy{align-content:center;display:grid;min-height:52px;min-width:0}.eyebrow,.person-detail-section h2{color:var(--gt-leaf);font-size:12px;font-weight:800;letter-spacing:.08em;line-height:1.25;margin:0;text-transform:uppercase}h1,h2,p{margin:0}h1{color:var(--gt-heading);font-size:32px;font-weight:900;letter-spacing:0;line-height:1.15}h2{color:var(--gt-heading);font-size:18px;font-weight:900;letter-spacing:0;line-height:1.3}.summary{color:var(--gt-text-muted);max-width:640px}.header-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.create-menu{position:relative}.create-menu-trigger{align-items:center;display:inline-flex;gap:8px}.create-menu-trigger gt-nav-icon{height:16px;width:16px}.create-menu-popover{background:#fff;border:1px solid var(--gt-border);border-radius:8px;box-shadow:0 16px 36px #1824212e;display:grid;min-width:180px;padding:6px;position:absolute;right:0;top:calc(100% + 7px);z-index:30}.create-menu-popover button{align-items:center;background:transparent;color:var(--gt-ink);display:flex;gap:9px;justify-content:flex-start;text-align:left}.create-menu-popover gt-nav-icon,.icon-text-button gt-nav-icon,.source-mode-actions gt-nav-icon{flex:0 0 auto;height:17px;width:17px}.create-menu-popover button:hover,.create-menu-popover button:focus-visible{background:var(--gt-surface-soft)}button{border:0;border-radius:8px;cursor:pointer;font-weight:700;min-height:40px;padding:0 15px}button:disabled{cursor:wait;opacity:.68}button:not(:disabled):active{transform:none}.primary-button:not(:disabled):active{background:#205b53}.primary-button:not(:disabled):hover,.primary-button:not(:disabled):focus-visible{background:#205b53}.secondary-button:not(:disabled):active{background:var(--gt-surface-pressed)}.secondary-button:not(:disabled):hover,.secondary-button:not(:disabled):focus-visible{background:var(--gt-surface-muted);border-color:var(--gt-border-strong)}.ghost-button:not(:disabled):active{background:#ffffff2e}.ghost-button:not(:disabled):hover,.ghost-button:not(:disabled):focus-visible{background:#ffffff2e}.icon-button:not(:disabled):active,.primary-nav a:active,.context-switcher:not(:disabled):active,.account-button:not(:disabled):active,.popover-action:not(:disabled):active,.account-popover button:not(:disabled):active{background:var(--gt-surface-pressed);color:var(--gt-leaf)}.popover-action.danger:not(:disabled):active,.account-popover button.danger:not(:disabled):active{background:#682c38;color:#fff!important}.login-button{align-items:center;display:inline-flex;gap:10px;justify-content:center}.button-spinner{animation:gt-spin .8s linear infinite;border:2px solid rgba(255,255,255,.42);border-radius:999px;border-top-color:#fff;display:inline-block;height:16px;width:16px}.muted-spinner{border-color:#25675d2e;border-top-color:var(--gt-leaf)}@keyframes gt-spin{to{transform:rotate(360deg)}}.primary-button{background:var(--gt-leaf);color:#fff}.secondary-button{background:#fff;border:1px solid var(--gt-border);color:var(--gt-text)}.ghost-button{background:#ffffff1a;color:#fff}.content-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 320px}.quick-entry,.overview-panel,.data-panel,.metric-card,.person-drawer,.form-section,.event-form-panel{background:#fff;border:1px solid var(--gt-border);border-radius:8px;box-shadow:none}.quick-entry,.data-panel{padding:20px}.person-drawer{background:var(--gt-surface-soft);border-radius:8px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;overflow:hidden}.drawer-header,.drawer-actions{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:20px}.drawer-header{border-bottom:1px solid var(--gt-border)}.drawer-header.compact{padding:16px}.drawer-actions{border-top:1px solid var(--gt-border)}.person-drawer-body{display:grid;gap:14px;overflow-y:auto;padding:18px 20px}.form-section,.event-form-panel{background:var(--gt-surface-soft);box-shadow:none;display:grid;gap:14px;padding:16px}.section-heading.compact{margin-bottom:0}.person-form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.primary-name-grid{grid-template-columns:minmax(136px,.45fr) minmax(0,1fr) minmax(0,1fr)}.name-dialog-grid,.event-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.type-field{width:calc((100% - 14px)/2)}.event-dialog-grid .type-field{grid-column:1/-1}.event-dialog-grid label:has([name=customType]){grid-column:1/-1;width:calc((100% - 14px)/2)}.name-dialog-grid .type-field{grid-column:1/-1}.gender-field select{min-width:0}.optional-fields{padding-top:2px}.optional-fields.compact{gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.optional-field-actions,.event-shortcuts,.participant-actions{display:flex;flex-wrap:wrap;gap:8px}.event-shortcuts{align-items:center}.event-action-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:18px}.event-action-group{display:grid;gap:8px}.section-kicker{color:var(--gt-text);font-size:12px;font-weight:800;letter-spacing:0;margin:0}.name-variant-summary{align-items:center;color:var(--gt-text-muted);display:flex;flex-wrap:wrap;gap:10px;font-size:13px}.name-variant-list{display:grid;gap:10px}.form-overlay{align-items:center;display:grid;inset:0;justify-items:center;overscroll-behavior:contain;padding:24px;position:fixed;z-index:70}.form-overlay-backdrop{background:#14181680;inset:0;position:fixed}.form-overlay-panel{max-height:min(760px,100vh - 48px);max-width:680px;overscroll-behavior:contain;overflow-y:auto;position:relative;width:min(100%,680px);z-index:1}.form-overlay-panel.wide{max-width:780px;width:min(100%,780px)}.form-overlay-panel .event-form-panel{box-shadow:0 28px 80px #141c263d}.dialog-form-panel{background:var(--gt-surface-soft);display:grid;gap:0;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}.dialog-form-panel .drawer-header,.dialog-form-panel .drawer-actions{padding:18px 24px}.dialog-warning{color:var(--gt-text-muted);line-height:1.5;margin:-4px 24px 18px}.dialog-form-body{display:grid;gap:14px;min-height:0;padding:18px 24px}.chip-button{align-items:center;background:#fff;border:1px solid var(--gt-border);color:var(--gt-text);display:inline-flex;gap:8px;min-height:36px}.chip-button.compact{font-size:12px;min-height:30px;padding:0 10px}.chip-button.active,.chip-button:hover{background:#25675d1a;border-color:#25675d52;color:var(--gt-leaf)}.link-chip-button{border-style:dashed}.event-shortcut-button{align-items:center;background:#fff;border:1px solid var(--gt-border);border-radius:7px;color:var(--gt-text);display:inline-flex;font-size:14px;font-weight:800;gap:8px;min-height:38px;padding:0 14px}.event-shortcut-button gt-nav-icon{color:var(--gt-leaf)}.event-shortcut-button:hover{background:#25675d14;border-color:#25675d47;color:var(--gt-leaf)}.event-participant-section{border-top:1px solid var(--gt-border);display:grid;gap:10px;padding-top:14px}.locked-participant{align-items:center;background:#25675d14;border:1px solid rgba(37,103,93,.18);border-radius:8px;color:var(--gt-text);display:flex;flex-wrap:wrap;gap:10px;padding:10px 12px}.locked-participant gt-nav-icon{color:var(--gt-leaf);flex:0 0 auto}.locked-participant strong,.locked-participant small{display:block}.locked-participant small{color:var(--gt-text-muted)}gt-popover-select{display:block;min-width:250px;position:relative}.popover-select{align-items:center;color:var(--gt-text-muted);display:flex;font-size:12px;font-weight:800;gap:8px;position:relative;white-space:nowrap}.locked-participant gt-popover-select{margin-left:auto}.popover-select-toggle{align-items:center;background:#fff;border:1px solid var(--gt-border-strong);color:var(--gt-text);display:flex;flex:1 1 150px;font-size:13px;justify-content:space-between;min-height:34px;min-width:150px;padding:0 10px;text-align:left}.popover-select-toggle:hover,.popover-select-toggle[aria-expanded=true]{border-color:var(--gt-leaf);box-shadow:0 0 0 3px #25675d1f}.popover-select-toggle gt-nav-icon{height:16px;width:16px}.popover-select-menu{background:#fff;border:1px solid var(--gt-border-strong);border-radius:8px;box-shadow:0 18px 44px #141c262e;display:grid;gap:2px;max-height:240px;min-width:220px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:90}.popover-select-menu button{align-items:center;background:transparent;color:var(--gt-text);display:grid;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;font-size:14px;gap:8px;grid-template-columns:18px minmax(0,1fr);justify-content:start;min-height:34px;padding:0 10px;text-align:left;width:100%}.popover-select-menu button:hover,.popover-select-menu button.active{background:#25675d1a;color:var(--gt-leaf)}.participant-link-row{align-items:flex-end;display:flex;gap:10px}.participant-link-row .person-form-grid{flex:1 1 auto}.participant-grid{grid-template-columns:minmax(150px,.5fr) repeat(2,minmax(0,1fr))}.participant-grid .type-field{grid-column:1/-1}.selected-participant-list{display:grid;gap:8px}.selected-participant-row{align-items:center;background:#fff;border:1px solid var(--gt-border);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(220px,auto) auto;padding:10px 12px}.selected-participant-row>div{min-width:0}.selected-participant-row strong{color:var(--gt-ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-search-panel{height:min(610px,100vh - 48px);max-width:560px;width:min(100%,560px)}.event-link-panel{height:min(640px,100vh - 48px);max-width:680px;width:min(100%,680px)}.compact-search-panel .dialog-form-panel,.event-link-panel .dialog-form-panel{height:100%}.person-picker-body{gap:12px;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.person-picker-results{-webkit-overflow-scrolling:touch;border:1px solid var(--gt-border);border-radius:8px;display:grid;align-content:start;height:100%;min-height:0;overflow-y:scroll;overscroll-behavior-y:contain;scrollbar-gutter:stable;touch-action:pan-y}.person-picker-result{background:#fff;border:0;border-radius:0;color:var(--gt-text);display:grid;gap:3px;min-height:54px;padding:10px 12px;text-align:left}.person-picker-result+.person-picker-result{border-top:1px solid var(--gt-border)}.person-picker-result:hover{background:var(--gt-list-hover);color:var(--gt-text)}.person-picker-result strong,.person-picker-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-picker-result small{color:var(--gt-text-muted)}.event-search-form{display:grid;gap:12px}.event-picker-body{gap:12px;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.event-picker-results{-webkit-overflow-scrolling:touch;border:1px solid var(--gt-border);border-radius:8px;display:grid;align-content:start;height:100%;min-height:0;overflow-y:scroll;overscroll-behavior-y:contain;scrollbar-gutter:stable;touch-action:pan-y}.event-picker-result{background:#fff;border:0;border-radius:0;color:var(--gt-text);display:grid;gap:4px;min-height:58px;padding:10px 12px;text-align:left}.event-picker-result+.event-picker-result{border-top:1px solid var(--gt-border)}.event-picker-result:hover,.event-picker-result:focus,.event-picker-result.active{background:var(--gt-list-hover);color:var(--gt-text)}.event-picker-result strong,.event-picker-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-picker-result small{color:var(--gt-text-muted)}.event-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-link-grid .type-field{grid-column:1/-1}.event-list{display:grid;gap:10px}.event-card{align-items:center;background:var(--gt-surface-soft);border:1px solid var(--gt-border);border-radius:8px;display:flex;gap:14px;justify-content:space-between;min-width:0;padding:12px}.event-card-main{align-items:center;display:flex;gap:12px;min-width:0}.event-card-icon{align-items:center;background:#25675d1a;border-radius:7px;color:var(--gt-leaf);display:inline-flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.event-card-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px}.locked-field{align-content:center;background:var(--gt-surface-soft);border:1px solid var(--gt-border);border-radius:7px;display:grid;gap:4px;min-height:40px;padding:8px 10px}.locked-field span{color:var(--gt-text-muted);font-size:12px;font-weight:700}.locked-field strong{color:var(--gt-text)}.event-card strong,.event-card small{display:block}.event-card small,.empty-state{color:var(--gt-text-muted)}.field-error{color:var(--gt-berry);font-size:12px;font-weight:700;margin-top:4px}.invalid-control{border-color:#91424fb3;box-shadow:0 0 0 3px #91424f1c}.icon-button,.ghost-icon-button{align-items:center;background:transparent;border:1px solid var(--gt-border);color:var(--gt-text);display:inline-flex;height:40px;justify-content:center;min-height:40px;padding:0;width:40px}.ghost-icon-button{background:#fff}.ghost-icon-button:hover,.ghost-icon-button:focus-visible{background:var(--gt-surface-muted);border-color:var(--gt-border-strong)}.ghost-icon-button:active{background:var(--gt-surface-pressed);border-color:var(--gt-border-strong);color:var(--gt-ink)}.danger-icon-button{background:var(--gt-berry);border-color:var(--gt-berry);color:#fff}.danger-icon-button:hover,.danger-icon-button:focus-visible{background:#7b3442;border-color:#7b3442}.danger-icon-button:active{background:#682c38;border-color:#682c38}.section-heading{align-items:flex-start;display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.state-pill{background:#91424f1a;border-radius:999px;color:var(--gt-berry);font-size:12px;font-weight:800;padding:5px 10px}.entry-form{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.login-form{gap:16px}label{color:var(--gt-text-muted);display:grid;font-size:13px;font-weight:700;gap:6px;min-width:0}.wide{grid-column:span 2}input,select,textarea{appearance:none;-webkit-appearance:none;background:#fff;border:1px solid var(--gt-border-strong);border-radius:7px;color:var(--gt-text);max-width:100%;min-height:40px;min-width:0;padding:8px 10px;width:100%}select{background:linear-gradient(45deg,transparent 50%,var(--gt-text-muted) 50%),linear-gradient(135deg,var(--gt-text-muted) 50%,transparent 50%),#fff;background-position:calc(100% - 16px) 50%,calc(100% - 10px) 50%,0 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,100% 100%;padding-right:30px}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--gt-leaf);box-shadow:0 0 0 3px #25675d24;outline:none}.form-error{background:#91424f1a;border-radius:7px;color:var(--gt-berry);font-size:13px;font-weight:700;padding:10px}.form-success{background:#25675d1a;border-radius:7px;color:var(--gt-leaf);font-size:13px;font-weight:700;padding:10px}.overview-panel{align-content:start;display:grid;gap:12px;padding:16px}.metric{align-items:center;border-bottom:1px solid var(--gt-border);display:flex;justify-content:space-between;min-height:46px}.metric span{color:var(--gt-text-muted)}.metric strong{color:var(--gt-ink);font-size:24px}.family-panel{display:grid;gap:16px;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.tree-chart-panel{display:grid;gap:16px;min-height:min(720px,100vh - 150px);-webkit-user-select:none;user-select:none}.tree-chart-toolbar{align-items:end;background:var(--gt-surface-soft);border:1px solid var(--gt-border);border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:14px}.tree-chart-controls{display:grid;gap:12px;grid-template-columns:minmax(240px,1fr) minmax(180px,.55fr);width:min(100%,680px)}.tree-chart-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tree-chart-workbench{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 280px;min-height:560px;min-width:0}.tree-chart-canvas{background:linear-gradient(rgba(37,103,93,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(37,103,93,.04) 1px,transparent 1px),var(--gt-surface-soft);background-size:28px 28px;border:1px solid var(--gt-border);border-radius:8px;cursor:grab;height:clamp(520px,100vh - 286px,680px);max-width:100%;min-height:520px;min-width:0;overflow:hidden;overscroll-behavior:contain;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tree-chart-canvas:active{cursor:grabbing}.tree-chart-canvas svg{display:block;height:100%;width:100%}.generation-guide line{stroke:#202c2a1a;stroke-dasharray:7 9;stroke-width:1}.generation-guide text{fill:#66716ec2;font-size:12px;font-weight:800;letter-spacing:0;paint-order:stroke;stroke:var(--gt-surface-soft);stroke-width:4px}.tree-link{fill:none;pointer-events:none;stroke:#25675d61;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.tree-link.ancestor-path{stroke:var(--gt-berry);stroke-width:3}.tree-link.descendant-path{stroke:#952b4ac7;stroke-width:2}.relationship-marker{pointer-events:none}.relationship-marker line{stroke-linecap:round;stroke-width:2}.relationship-marker circle{fill:var(--gt-surface-soft);stroke-width:2}.relationship-marker text{dominant-baseline:middle;font-size:12px;font-weight:900;pointer-events:none;text-anchor:middle}.relationship-marker.married line,.relationship-marker.divorced line,.relationship-marker.unmarried line,.relationship-marker.unknown line{stroke:#25675d70}.relationship-marker.married circle,.relationship-marker.divorced circle,.relationship-marker.unmarried circle,.relationship-marker.unknown circle{stroke:#25675d8f}.relationship-marker.married text,.relationship-marker.divorced text,.relationship-marker.unmarried text,.relationship-marker.unknown text{fill:var(--gt-leaf)}.relationship-marker.divorced text{font-size:10px}.relationship-marker.unknown line{stroke-dasharray:5 5}.relationship-marker.unknown circle{stroke-dasharray:4 4}.relationship-marker.unmarried line{stroke-dasharray:7 4}.relationship-marker.ancestor-path line,.relationship-marker.ancestor-path circle{stroke:var(--gt-berry)}.relationship-marker.ancestor-path text{fill:var(--gt-berry)}.relationship-marker.descendant-path line,.relationship-marker.descendant-path circle{stroke:#952b4ac7}.relationship-marker.descendant-path text{fill:#952b4aeb}.tree-node{cursor:pointer}.tree-node rect{fill:#fff;stroke:var(--gt-border-strong);stroke-width:1.3}.tree-node:hover rect,.tree-node.selected rect{filter:drop-shadow(0 8px 16px rgba(24,36,33,.16));stroke:var(--gt-leaf);stroke-width:2}.tree-node-name,.tree-node-life{dominant-baseline:middle;overflow:hidden;pointer-events:none;text-anchor:middle}.tree-node-name{fill:var(--gt-ink);font-size:13px;font-weight:800}.tree-node-life{fill:var(--gt-text-muted);font-size:11px;font-weight:700}.tree-detail-panel{align-content:start;background:var(--gt-surface-soft);border:1px solid var(--gt-border);border-radius:8px;display:grid;gap:14px;min-width:0;padding:16px}.tree-detail-panel dl{display:grid;gap:10px;margin:0}.tree-detail-panel dt{color:var(--gt-text);font-size:12px;font-weight:800}.tree-detail-panel dd{color:var(--gt-ink);font-weight:600;margin:2px 0 0}.tree-detail-hint{color:var(--gt-text-muted);font-size:14px;line-height:1.45}.person-list-panel{display:grid;gap:16px;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.person-search-bar{background:var(--gt-surface-soft);border:1px solid var(--gt-border);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto auto;padding:14px}.person-search-bar button{align-self:end}.person-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-result-summary{color:var(--gt-text-muted);display:flex;flex-wrap:wrap;font-size:13px;font-weight:800;gap:12px;justify-content:space-between}.section-title-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.section-title-row>div{display:grid;gap:4px}.compact-title-row{align-items:flex-start}.person-table,.source-table,.citation-table{align-content:start;border:1px solid var(--gt-border);border-radius:8px;display:grid;overflow:hidden}.source-table-header,.source-table-row,.citation-table-header,.citation-table-row{align-items:center;display:grid;gap:14px;padding:12px 14px}.source-table-header,.source-table-row{grid-template-columns:minmax(260px,1fr) minmax(160px,.45fr) 100px}.citation-table-header,.citation-table-row{grid-template-columns:minmax(220px,.9fr) minmax(240px,1fr) minmax(160px,.55fr)}.source-table-header,.citation-table-header{background:var(--gt-surface-soft);color:var(--gt-text-muted);font-size:12px;font-weight:800;letter-spacing:.04em;min-height:38px;padding-block:8px;text-transform:uppercase}.source-table-row,.citation-table-row{background:#fff;min-height:68px}.source-table-header+.source-table-row,.source-table-row+.source-table-row,.citation-table-header+.citation-table-row,.citation-table-row+.citation-table-row{border-top:1px solid var(--gt-border)}.source-table-row>div,.citation-table-row>div{display:grid;gap:3px;min-width:0}.source-table-row small,.citation-table-row small,.source-table-row span,.citation-table-row span{color:var(--gt-text-muted)}.source-dialog-panel{width:min(760px,100vw - 32px)}.citation-form-overlay-panel{width:min(1040px,100vw - 32px)}.citation-dialog-panel{max-height:min(900px,100vh - 40px);width:100%}.citation-form-body{align-content:start;display:grid;gap:18px;overflow-y:auto}.source-form-grid,.citation-locator-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.wide-field{grid-column:1/-1}.citation-form-section{border:1px solid var(--gt-border);border-radius:8px;display:grid;gap:14px;padding:16px}.citation-form-section h3{color:var(--gt-heading);font-size:15px;margin:0}.source-mode-actions{display:flex;flex-wrap:wrap;gap:10px}.selected-source-card{align-items:center;background:#fff;border:1px solid var(--gt-border);border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px 14px}.selected-source-card>div{display:grid;gap:3px;min-width:0}.selected-source-card small{color:var(--gt-text-muted)}.icon-text-button{align-items:center;display:inline-flex;gap:8px;justify-content:center}.segmented-choice{display:flex;flex-wrap:wrap;gap:10px}.segmented-choice label,.checkbox-label{align-items:center;color:var(--gt-ink);display:inline-flex;flex-direction:row;font-weight:700;gap:8px}.segmented-choice label{background:var(--gt-surface-soft);border:1px solid var(--gt-border);border-radius:8px;padding:10px 12px}.segmented-choice input,.checkbox-label input{margin:0;min-height:auto;width:auto}.access-card{background:var(--gt-surface-soft);border:1px solid var(--gt-border);border-radius:8px;display:grid;gap:12px;padding:14px}.access-card-header{align-items:center;display:flex;justify-content:space-between}.citation-link-columns{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.inline-search-control{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.target-choice-list{border:1px solid var(--gt-border);border-radius:8px;display:grid;gap:8px;margin-top:8px;max-height:180px;overflow-y:auto;padding:10px}.empty-inline-state{color:var(--gt-text-muted);font-size:13px}@media(max-width:760px){.source-table-header,.source-table-row,.citation-table-header,.citation-table-row{grid-template-columns:minmax(0,1fr)}.source-table-header,.citation-table-header{display:none}.source-form-grid,.citation-locator-grid,.citation-link-columns{grid-template-columns:minmax(0,1fr)}.wide-field{grid-column:auto}.section-title-row{align-items:stretch;flex-direction:column}}.list-scroll-surface{max-height:none;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.person-table.list-scroll-surface{overflow-y:auto}.person-table-header,.person-table-row,.family-table-header,.family-table-row{align-items:center;display:grid;gap:14px;text-align:left}.person-table-header,.person-table-row{grid-template-columns:minmax(180px,1fr) minmax(220px,1.25fr) 88px}.family-table-header,.family-table-row{grid-template-columns:minmax(260px,1fr) minmax(110px,140px)}.person-table-header{background:var(--gt-surface-soft);color:var(--gt-text-muted);font-size:12px;font-weight:800;letter-spacing:.04em;min-height:38px;padding:8px 14px;justify-items:start;text-transform:uppercase}.person-table-header span,.family-table-header span{text-align:left;width:100%}.person-table-row,.family-table-row{background:#fff;min-height:68px;padding:12px 14px;position:relative}.family-table-row{min-height:86px}.clickable-row{cursor:pointer}.row-link-overlay{border-radius:inherit;inset:0;position:absolute;z-index:1}.clickable-row:focus-visible,.clickable-row:hover{background:var(--gt-list-hover)}.person-table-header+.person-table-row,.person-table-row+.person-table-row,.family-table-header+.family-table-row,.family-table-row+.family-table-row{border-top:1px solid var(--gt-border)}.person-table-row>div,.family-table-row>div{display:grid;gap:3px;min-width:0;text-align:left}.person-row-actions{display:inline-flex;gap:8px}.person-table-row .person-row-actions{display:inline-flex;justify-self:end;position:relative;z-index:2}.person-edit-icon-button{background:var(--gt-surface-soft)}.person-edit-icon-button:hover,.person-edit-icon-button:focus-visible{background:var(--gt-surface-pressed);border-color:var(--gt-border-strong)}.person-edit-icon-button:active{background:var(--gt-surface-muted);border-color:var(--gt-border-strong)}.person-table-row .compact-button,.family-person-row .compact-button{justify-self:end}.person-table-row strong{color:var(--gt-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-table-row small,.person-table-row span{color:var(--gt-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination-actions{display:flex;gap:8px;justify-content:flex-end}.loading-row{color:var(--gt-text-muted);font-size:13px;font-weight:800;padding:14px;text-align:center}.person-detail-panel{align-content:start;background:var(--gt-surface-soft);display:grid;gap:0;height:100%;min-height:0;overflow-y:auto;scrollbar-color:rgba(24,36,33,.28) transparent;scrollbar-width:thin}.person-detail-breadcrumb{display:flex;padding-bottom:14px}.breadcrumb-back-button{background:transparent;color:var(--gt-leaf);min-height:0;padding:0;text-align:left}.breadcrumb-back-button:before{content:"< "}.breadcrumb-back-button:hover,.breadcrumb-back-button:focus-visible{color:var(--gt-ink);text-decoration:underline}.breadcrumb-back-button:active{color:var(--gt-berry)}.person-detail-hero{align-items:center;border-bottom:1px solid var(--gt-border);display:flex;gap:18px;justify-content:space-between;padding:18px 0}.person-detail-hero h1{margin:0}.person-detail-vitals{color:var(--gt-text-muted);display:flex;flex-wrap:wrap;font-size:15px;font-weight:600;gap:8px 18px;margin-top:8px}.person-detail-hero small{color:var(--gt-text-muted);display:block;font-size:15px;font-weight:600;margin-top:8px}.person-detail-section{border-bottom:1px solid var(--gt-border);display:grid;gap:12px;padding:18px 0}.person-detail-section:last-child{border-bottom:0}.detail-section-heading{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.detail-toggle-button{margin-left:auto}.detail-fact-list{display:grid;gap:8px 18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin:0}.detail-fact-list>div{display:grid;gap:3px}.detail-fact-list .wide{grid-column:1/-1}.detail-fact-list dt{color:var(--gt-text-muted);font-size:13px;font-weight:800}.detail-list small{color:var(--gt-text-muted);font-size:13px;font-weight:600}.detail-fact-list dd{color:var(--gt-text-muted);font-weight:400;margin:0}.detail-list strong{color:var(--gt-text);font-weight:800}.detail-list{display:grid;gap:12px}.detail-list span{color:var(--gt-text);font-weight:600}.detail-list article{background:#fff;border:1px solid var(--gt-border);border-radius:8px;display:grid;gap:5px;padding:14px;position:relative}.detail-list article:first-child{border-top:1px solid var(--gt-border);padding-top:14px}.timeline-list .detail-event-card{align-items:center;cursor:pointer;display:flex;gap:14px;min-height:68px}.detail-event-card:hover,.detail-event-card:focus-visible{background:var(--gt-list-hover);outline:0}.detail-event-card>div{display:grid;gap:3px;min-width:0}.detail-event-card small,.event-participant-links{display:block}.family-relationship-row{cursor:pointer;grid-template-rows:auto auto}.family-relationship-row:hover,.family-relationship-row:focus-visible{background:var(--gt-list-hover);outline:0}.family-relationship-row>div{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.family-relationship-row small,.family-relationship-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-link-button{background:transparent;border-radius:4px;color:var(--gt-leaf);display:inline;font-weight:600;min-height:0;padding:0;position:relative;text-align:left;z-index:2}.inline-link-button:hover,.inline-link-button:focus-visible{color:var(--gt-ink);text-decoration:underline}.inline-link-button:active{color:var(--gt-berry)}.loading-state{align-items:center;color:var(--gt-text-muted);display:flex;font-size:14px;font-weight:800;gap:10px;justify-content:center;min-height:180px;padding:24px;text-align:center}.family-table{align-content:start;border:1px solid var(--gt-border);border-radius:8px;display:grid;overflow:hidden}.family-table.list-scroll-surface{overflow-y:auto}.family-table-header{background:var(--gt-surface-soft);color:var(--gt-text-muted);font-size:12px;font-weight:800;letter-spacing:.04em;min-height:38px;padding:8px 14px;justify-items:start;text-transform:uppercase}.family-info-cell{gap:4px}.family-partner-list{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.family-table-row>span{align-self:center;color:var(--gt-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-status-cell{display:flex;align-items:center;min-height:100%}.family-table-row strong{color:var(--gt-ink);font-size:15px;display:block}.family-join-word{color:var(--gt-text);display:inline;font-size:inherit;font-weight:800}.family-table-row small{color:var(--gt-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-button{min-height:38px;padding:7px 10px;white-space:nowrap}.empty-state.compact{margin:0;min-height:auto;padding:10px}.admin-grid{display:grid;gap:14px;grid-template-columns:repeat(6,minmax(0,1fr))}.metric-card{display:grid;gap:6px;min-height:104px;padding:16px}.metric-card span{color:var(--gt-text-muted);font-size:13px;font-weight:700}.metric-card strong{color:var(--gt-ink);font-size:28px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--gt-border);padding:12px 10px;text-align:left}th{color:var(--gt-text-muted);font-size:12px;text-transform:uppercase}td span{color:var(--gt-text-muted);display:block;font-size:12px;margin-top:2px}.next-steps{display:grid;gap:12px;padding-top:8px}ul{color:var(--gt-text-muted);display:grid;gap:10px;margin:0;padding-left:18px}@media(max-width:1180px){.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1180px){.content-grid{grid-template-columns:1fr}.person-search-bar,.tree-chart-toolbar,.tree-chart-workbench,.tree-chart-controls,.person-table-header,.person-table-row,.family-table-header,.family-table-row{grid-template-columns:minmax(0,1fr)}.tree-chart-toolbar{align-items:stretch;display:grid}.tree-chart-actions{justify-content:stretch}.tree-chart-actions button{flex:1 1 140px}.person-search-bar button,.person-table-row .compact-button{grid-column:1/-1}.person-table-header,.family-table-header{display:none}}@media(max-width:760px){body{overflow-x:hidden;overflow-y:auto}.workspace-shell,.workspace-shell.sidebar-collapsed{background:var(--gt-surface-muted);grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible;position:relative}.admin-shell{background:var(--gt-surface-muted);height:auto;min-height:100vh;overflow:visible}.shell-sidebar-toggle{height:48px;min-height:48px;width:48px;z-index:10}.mobile-sidebar-backdrop{appearance:none;background:transparent;border:0;display:block;inset:0;padding:0;position:fixed;-webkit-tap-highlight-color:transparent;z-index:20}.global-nav{border-right:1px solid rgba(255,255,255,.1);box-shadow:18px 0 42px #18242100;height:100vh;height:100dvh;isolation:isolate;left:0;max-width:calc(100vw - 28px);min-height:100vh;min-height:100dvh;pointer-events:none;position:fixed;top:0;transform:translate(-108%);transition:transform .18s ease,box-shadow .18s ease;width:306px;z-index:25}.mobile-sidebar-open .global-nav{box-shadow:18px 0 42px #1824212e;pointer-events:auto;transform:translate(0)}.workspace-content,.admin-workspace{grid-column:1;height:auto;min-height:100vh;overflow:visible;padding:18px}.workspace-header{display:grid}.workspace-heading{grid-template-columns:auto minmax(0,1fr)}.header-actions{justify-content:stretch}.header-actions button{flex:1 1 180px}.primary-nav,.entry-form,.person-form-grid,.primary-name-grid,.selected-participant-row,.person-search-bar,.tree-chart-controls,.tree-chart-workbench,.person-filter-grid,.person-table-header,.person-table-row,.family-table-header,.family-table-row,.admin-grid{grid-template-columns:1fr}gt-popover-select,.popover-select,.popover-select-toggle{min-width:0;width:100%}.popover-select{align-items:stretch;display:grid;white-space:normal}.popover-select-menu{left:0;right:auto;width:100%}.type-field,.event-dialog-grid label:has([name=customType]){width:100%}gt-person-form{height:calc(100vh - 24px);max-width:none;width:calc(100vw - 24px)}.wide{grid-column:auto}.tree-chart-panel{min-height:calc(100vh - 140px)}input,select,textarea{font-size:16px}.tree-chart-canvas,.tree-chart-canvas svg{height:clamp(360px,100vh - 260px,560px);min-height:360px}}
