@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--background:#faf9f7;--foreground:#1c1917;--card:#fff;--primary:#8b1e2d;--primary-dark:#741827;--primary-soft:#fcf5f6;--gold:#b7892b;--muted:#f5f5f4;--muted-foreground:#57534e;--border:#e7e5e4;--success:#166534;--warning:#92400e;--danger:#b42318;--info:#1d4ed8;--radius:12px}*{box-sizing:border-box}body{color:var(--foreground);background:var(--background);margin:0;font-family:Segoe UI,system-ui,-apple-system,Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #8b1e2d40}h1,h2,h3,p{margin-top:0}h1{margin-bottom:6px;font-size:clamp(1.5rem,3vw,1.8rem);line-height:1.3}h2{font-size:1.25rem;line-height:1.35}h3{font-size:1.05rem;line-height:1.4}.app-frame{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px 24px;display:flex}.brand-mark{color:#fff;background:var(--primary);border:3px solid #f5eacf;border-radius:50%;place-items:center;width:44px;height:44px;font-family:Georgia,serif;font-size:20px;font-weight:700;display:grid}.brand strong{color:#5f1220;display:block}.nav-section-label{color:#78716c;letter-spacing:.06em;text-transform:uppercase;margin:18px 10px 6px;font-size:12px;font-weight:700}.nav-list{gap:4px;display:grid}.nav-link{color:#44403c;border-radius:10px;align-items:center;gap:12px;min-height:46px;padding:9px 12px;font-weight:600;display:flex}.nav-link.active{color:#5f1220;box-shadow:inset 3px 0 0 var(--primary);background:#fcf0f2}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:16px 10px 0}.sidebar-footer strong{font-size:14px;display:block}.sidebar-footer small{color:var(--muted-foreground)}.main-column{min-width:0}.topbar{z-index:40;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.top-actions{gap:8px;display:flex}.topbar-spacer{flex:1}.icon-button{border:1px solid var(--border);color:#44403c;background:#fff;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.content{max-width:1500px;margin:0 auto;padding:28px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-description{color:var(--muted-foreground);max-width:760px;margin:0}.eyebrow{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:13px;font-weight:800}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.button{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 16px;font-weight:700;transition:all .18s;display:inline-flex}.button-primary:hover{background:var(--primary-dark)}.button-secondary{color:#292524;border-color:var(--border);background:#fff}.button-danger{color:#fff;background:var(--danger)}.button-ghost{color:#57534e;background:0 0}.button-sm{min-height:38px;padding:7px 12px;font-size:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #1c191709}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.card-header h2,.card-header h3{margin:0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.stat-card{padding:18px}.stat-icon{width:42px;height:42px;color:var(--primary);background:var(--primary-soft);border-radius:10px;place-items:center;display:grid}.stat-value{margin-top:14px;font-size:27px;font-weight:800;line-height:1;display:block}.stat-label{color:var(--muted-foreground);font-size:14px}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:20px;display:grid}.list{display:grid}.list-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:15px 20px;display:flex}.list-item:last-child{border-bottom:0}.list-item-main{flex:1;min-width:0}.list-item-main strong{display:block}.list-item-main small{color:var(--muted-foreground)}.event-dot{background:var(--primary);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #f8e8eb}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.badge-info{color:#1d4ed8;background:#dbeafe}.badge-danger{color:#b42318;background:#fee4e2}.scope-banner{color:#243b64;background:#eff6ff;border:1px solid #c9d6eb;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.scope-banner.warning{color:#744210;background:#fffbeb;border-color:#eed69b}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.field{gap:7px;display:grid}.field label{font-size:14px;font-weight:700}.input,.select,.textarea{color:#292524;background:#fff;border:1px solid #d6d3d1;border-radius:9px;width:100%;min-height:44px;padding:9px 12px}.textarea{resize:vertical;min-height:110px}.search-field{flex:1;min-width:260px;position:relative}.search-field svg{color:#78716c;position:absolute;top:12px;left:12px}.search-field input{padding-left:40px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{color:#57534e;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;background:#fafaf9;padding:12px 16px;font-size:13px}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 16px}.data-table tr:last-child td{border-bottom:0}.person-cell{align-items:center;gap:10px;min-width:210px;display:flex}.avatar{color:#fff;background:#8b5d66;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.mobile-person-list{gap:12px;display:none}.person-mobile-card{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;display:grid}.profile-hero{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:18px;padding:22px;display:grid}.profile-avatar{width:76px;height:76px;font-size:24px}.profile-hero-centered{text-align:center;flex-direction:column;justify-content:center;display:flex}.profile-identity{justify-items:center;gap:14px;display:grid}.profile-avatar-image,.profile-avatar-large{border-radius:50%;width:150px;height:150px}.profile-avatar-image{object-fit:cover;background:#f5f5f4;border:4px solid #fff;display:block;box-shadow:0 8px 24px #7835422e}.profile-avatar-large{font-size:46px;box-shadow:0 8px 24px #7835422e}.profile-hero-centered .profile-actions{justify-content:center}.profile-name{margin:0 0 4px;font-size:24px}.profile-meta{color:var(--muted-foreground);margin:0}.profile-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.person-date-day-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.person-date-day-grid>.field{align-content:start}.person-date-day-grid>.person-date-calendar{grid-column:1/-1}.person-classification-grid{align-items:start}.person-classification-grid>.field{grid-template-rows:18px 44px auto;align-content:start}.person-classification-grid>.field>.input,.person-classification-grid>.field>.select{height:44px;min-height:44px}.info-list{gap:0;display:grid}.info-row{border-bottom:1px solid var(--border);grid-template-columns:170px 1fr;gap:12px;padding:12px 0;display:grid}.info-row:last-child{border-bottom:0}.info-label{color:var(--muted-foreground)}.relative-chips{flex-wrap:wrap;gap:8px;display:flex}.relative-chip{border:1px solid var(--border);background:#fafaf9;border-radius:9px;padding:8px 11px}.person-avatar-field{background:#fcfaf9;border:1px dashed #d6d3d1;border-radius:14px;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:24px;padding:18px;display:grid}.person-avatar-preview{color:#8b5d66;background-color:#f3e8ea;background-position:50%;background-size:cover;border:4px solid #fff;border-radius:50%;place-items:center;width:150px;height:150px;display:grid;overflow:hidden;box-shadow:0 8px 24px #78354226}.person-avatar-input label{align-items:center;gap:7px;display:inline-flex}.person-avatar-input small{color:var(--muted-foreground)}.person-parent-combobox,.person-parent-search{position:relative}.person-parent-search>svg{z-index:1;color:#78716c;pointer-events:none;position:absolute;top:13px;left:12px}.person-parent-search .input{padding-left:40px;padding-right:42px}.person-parent-clear{color:#57534e;background:0 0;border:0;border-radius:7px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:6px;right:7px}.person-parent-clear:hover{color:var(--primary);background:var(--primary-soft)}.person-parent-options{z-index:30;background:#fff;border:1px solid #d6d3d1;border-radius:10px;max-height:320px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #1c191729}.person-parent-option{color:#292524;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 10px;display:flex}.person-parent-option small{color:var(--muted-foreground);margin-top:2px;display:block}.person-parent-option-empty{color:#57534e;min-height:40px}.person-parent-no-results,.person-parent-search-hint{color:var(--muted-foreground);padding:12px 10px;display:block}.event-person-branch-fields{gap:16px;display:grid}.event-person-branch-fields>.field>small{color:var(--muted-foreground)}.event-person-branch-fields .select:disabled{color:#44403c;opacity:1;cursor:not-allowed;background:#f5f5f4}.tabs{border:1px solid var(--border);background:#fff;border-radius:10px;gap:4px;margin-bottom:18px;padding:4px;display:flex;overflow-x:auto}.tab{color:#57534e;white-space:nowrap;background:0 0;border:0;border-radius:8px;min-height:40px;padding:8px 13px;font-weight:700}.tab.active{color:#741827;background:#fcf0f2}.calendar-grid{grid-template-columns:repeat(7,minmax(100px,1fr));min-width:760px;display:grid}.calendar-header-cell{color:#57534e;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;background:#fafaf9;padding:10px;font-size:13px;font-weight:700}.calendar-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:118px;padding:9px}.calendar-day{color:#57534e;justify-content:space-between;font-size:14px;display:flex}.calendar-event{color:#741827;background:#f8e8eb;border-radius:7px;margin-top:7px;padding:6px 7px;font-size:12px;font-weight:700;display:block}.calendar-event small{margin-top:2px;font-weight:500;display:block}.calendar-event-cancelled{color:#57534e;background:#e7e5e4;text-decoration:line-through}.calendar-cell-empty{background:#fafaf9}.calendar-toolbar,.calendar-filter-form,.calendar-month-navigation{align-items:center;gap:10px;display:flex}.calendar-filter-form{margin-left:auto}.calendar-filter-form .select{width:210px}.calendar-month-navigation{justify-content:center;margin:0 0 14px}.calendar-month-navigation h2{text-align:center;min-width:220px;margin:0}.calendar-empty-note{color:var(--muted-foreground);text-align:center;margin:12px 0 0}.calendar-rule-note{display:block;color:#8a651b!important}.calendar-page-sections{gap:30px;display:grid}.calendar-page-section{min-width:0}.calendar-month-section{width:100%;min-width:0}.calendar-month-card{border-radius:16px;padding-top:16px;overflow:hidden}.calendar-month-card .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.calendar-month-card .calendar-cell{min-height:88px;padding:7px}.calendar-event-dialog-backdrop{z-index:200;background:#2925247a;align-items:end;padding:16px;display:grid;position:fixed;inset:0}.calendar-event-dialog{background:#fff;border-radius:18px;width:min(100%,480px);margin:0 auto;padding:22px;position:relative;box-shadow:0 24px 60px #2925243d}.calendar-event-dialog h2{margin:5px 0 18px;padding-right:40px;font-size:21px}.calendar-event-dialog-close{position:absolute;top:14px;right:14px}.calendar-event-dialog-details{gap:12px;display:grid}.calendar-event-dialog-details p{color:#57534e;grid-template-columns:22px 1fr;gap:9px;margin:0;display:grid}.calendar-event-dialog-details strong{color:#292524;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;font-size:12px;display:block}.heritage-calendar-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.heritage-calendar-header h1{color:#1a1c19;letter-spacing:-.02em;margin:0 0 5px;font-size:clamp(25px,3vw,34px);font-weight:650}.heritage-calendar-header p{color:#625a4e;margin:0;font-size:16px}.heritage-calendar-controls{align-items:center;gap:14px;display:flex}.heritage-calendar-toggle{background:#e8e7e1;border:1px solid #ded8ce;border-radius:999px;padding:4px;display:flex}.heritage-calendar-toggle a{color:#5f5e5e;text-align:center;border-radius:999px;min-width:92px;padding:7px 14px;font-size:14px;font-weight:650}.heritage-calendar-toggle a.active{color:#fff;background:#c69d50;box-shadow:0 2px 5px #533d1224}.heritage-calendar-add{color:#fff;background:#c69d50}.heritage-calendar-add:hover{color:#fff;background:#a98036}.heritage-calendar-layout{grid-template-columns:minmax(0,7fr) minmax(330px,5fr);align-items:start;gap:24px;display:grid}.heritage-calendar-card{background:#fff;border-color:#ded8ce;padding:20px;box-shadow:0 6px 18px #2d2d2d0b}.heritage-month-navigation{justify-content:space-between;min-height:40px;margin-bottom:14px}.heritage-month-navigation h2{color:#1a1c19;text-align:left;min-width:0;margin:0;font-size:24px}.heritage-month-navigation>div{gap:4px;display:flex}.heritage-month-navigation .icon-button{border-color:#0000;border-radius:999px;width:38px;height:38px}.heritage-calendar-filter{justify-content:flex-end;gap:8px;margin-bottom:14px;display:flex}.heritage-calendar-filter .select{width:210px;min-height:38px;padding-top:6px;padding-bottom:6px}.heritage-calendar-scroll{margin:0;overflow:hidden}.heritage-calendar-grid{gap:5px;min-width:0}.heritage-calendar-grid .calendar-header-cell{color:#746d63;text-align:center;background:0 0;border:0;padding:8px 2px;font-size:12px;font-weight:700}.heritage-calendar-cell{text-align:center;background:0 0;border-radius:9px;position:relative;border:0!important;min-height:72px!important;padding:5px!important}.heritage-calendar-cell:hover{background:#f4f4ef}.heritage-calendar-cell.calendar-cell-empty{color:#b9b5ad;background:0 0}.heritage-calendar-cell.heritage-calendar-has-event{background:#f0dfb8}.heritage-calendar-cell.heritage-calendar-has-event:hover{background:#e8cf9b}.heritage-calendar-cell.heritage-calendar-cancelled-only{background:#efede9}.heritage-calendar-cell.heritage-calendar-cancelled-only:hover{background:#e5e2dc}.heritage-calendar-day{justify-items:center;gap:1px;display:grid}.heritage-calendar-day strong{border-radius:8px;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.heritage-calendar-day small{color:#8a8378;font-size:9px;line-height:1.1}.heritage-calendar-today .heritage-calendar-day strong{color:#fff;background:#c69d50;box-shadow:0 2px 5px #533d1226}.heritage-calendar-cell:has(.heritage-calendar-event-hitarea){cursor:pointer}.heritage-calendar-event-hitarea{z-index:2;cursor:pointer;background:0 0;border:0;border-radius:9px;width:100%;height:100%;padding:0;position:absolute;inset:0}.heritage-calendar-event-hitarea:focus-visible{outline-offset:-2px;outline:2px solid #c29a4f}.calendar-day-event-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.calendar-day-event-list li{background:#faf8f3;border:1px solid #e5ded3;border-radius:10px;gap:3px;padding:11px 12px;display:grid}.calendar-day-event-list li a{color:#775a19}.calendar-day-event-list li small{color:#746d63}.calendar-day-event-list li span{color:#57534e;font-size:13px}.heritage-upcoming{min-width:0}.heritage-upcoming .calendar-section-heading{margin-bottom:14px}.heritage-upcoming .calendar-section-heading h2{margin:0;font-size:24px}@media (min-width:1024px){.heritage-calendar-layout>.calendar-page-section{grid-template-rows:40px minmax(0,1fr);align-content:start;display:grid}.heritage-calendar-layout>.calendar-page-section>.calendar-section-heading{align-self:center}.heritage-calendar-card,.heritage-event-list{align-self:start}}.heritage-event-list{gap:14px;max-height:680px;padding-right:2px;display:grid;overflow:auto}.heritage-event-card{border-color:#ded8ce;border-radius:14px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:15px;padding:16px;display:grid;box-shadow:0 5px 15px #2d2d2d0a}.heritage-event-date{color:#775a19;background:#f5f4ee;border:1px solid #ded8ce;border-radius:9px;place-content:center;justify-items:center;width:64px;height:64px;display:grid}.heritage-event-date strong{font-size:23px;line-height:1}.heritage-event-date small{margin-top:4px;font-size:11px}.heritage-event-card .list-item-main>a strong{color:#292b28;font-size:17px;line-height:1.25}.heritage-event-card .list-item-main>small{color:#746d63;margin-top:3px;display:block}.heritage-event-chip{background:#e8e7e1;border-radius:999px;width:fit-content;padding:2px 8px;font-size:11px;font-weight:650}.calendar-section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.calendar-section-heading h2{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:15px;font-weight:800}.media-upload-form{gap:18px;margin-bottom:18px;display:grid}.media-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.media-card{overflow:hidden}.media-preview{color:#8b1e2d;border-bottom:1px solid var(--border);background-color:#f5f5f4;background-position:50%;background-size:cover;place-items:center;min-height:170px;display:grid}.media-preview[style] .media-preview-fallback{opacity:0}.media-card-title,.media-card-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.media-card .card-body{gap:10px;display:grid}.media-card p,.media-card small{color:#57534e;margin:0}.media-card-deleted{opacity:.88}.media-card-deleted .media-preview{color:#78716c;filter:grayscale()}.media-links-editor{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:9px 0}.media-links-editor summary{color:var(--primary);cursor:pointer;align-items:center;gap:7px;font-weight:700;display:flex}.media-links-editor-body{gap:8px;padding-top:10px;display:grid}.media-links-editor-body label{font-size:13px;font-weight:700}.media-links-select{min-height:118px;padding:5px}.media-links-select option{border-radius:5px;padding:6px 7px}.media-link-message{color:#166534;font-size:13px}.import-upload{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:18px;margin-bottom:18px;display:grid}.import-upload>div:first-child,.import-upload .scope-banner,.import-upload>div:last-child{grid-column:1/-1}.export-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.export-card{grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:22px;display:grid}.export-card>svg{color:var(--primary)}.export-card h2{margin-bottom:5px}.export-card p{color:var(--muted-foreground);margin:0}.export-card>.button{grid-column:1/-1;justify-self:start}.export-card-wide{grid-column:1/-1}.export-form{grid-column:1/-1;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px;display:grid}.import-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.import-summary .card-body{grid-template-columns:auto 1fr;align-items:center;column-gap:10px;display:grid}.import-summary strong{font-size:28px}.import-summary span{color:#57534e;grid-column:2}.import-issues{margin:0;padding-left:18px}.import-confirm-card{border-color:#b9c9df;gap:16px;margin-bottom:18px;display:grid}.import-confirm-card strong{align-items:center;gap:8px;display:flex}.import-confirm-card p{margin-bottom:0}.import-confirm-check{align-items:flex-start;gap:9px;font-weight:700;display:flex}.import-confirm-check input{width:18px;height:18px;accent-color:var(--primary);margin-top:1px}.import-confirm-actions{justify-content:flex-end;display:flex}.import-rollback-card{background:snow;border-color:#efb3b3;gap:16px;margin-bottom:18px;display:grid}.import-rollback-card strong{color:var(--danger);align-items:center;gap:8px;display:flex}.import-rollback-card p{margin-bottom:0}.text-success{color:#166534}.text-warning{color:#92400e}.text-danger{color:#b91c1c}.event-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.event-summary-grid>div{align-items:center;gap:9px;display:flex}.event-summary-grid>p{color:var(--muted-foreground);white-space:pre-wrap;grid-column:1/-1;margin:0}.event-danger-zone{background:snow;border-color:#efb3b3}.event-danger-zone h3{color:var(--danger);margin:0}.event-danger-zone p{color:var(--muted-foreground);margin:5px 0 0}.notification-button{position:relative}.notification-count{color:#fff;background:var(--danger);border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.notification-row{background:#fff}.notification-row.notification-unread{background:#fcf5f6}.notification-icon{width:38px;height:38px}.membership-edit-form{border:1px solid var(--border);background:#faf9f7;border-radius:10px;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.membership-edit-form .field{gap:4px}.membership-edit-form .field label{color:var(--muted-foreground);font-size:12px}.membership-edit-form .select{min-height:38px;padding-top:6px;padding-bottom:6px;font-size:14px}.membership-fixed-scope{border:1px solid var(--border);color:#57534e;background:#fafaf9;border-radius:9px;align-items:center;min-height:38px;padding:6px 12px;font-size:14px;display:flex}.membership-save-button{min-width:76px}.membership-edit-actions{align-items:center;gap:8px;display:flex}.membership-edit-message{grid-column:1/-1}.membership-edit-message.success{color:#166534}.membership-edit-message.error{color:#b91c1c}.user-role-label{font-size:14px}.user-admin-actions{justify-items:end;gap:8px;display:grid}.user-membership-edit-row>td{background:#fffdfb;padding:10px 14px 16px}.branch-structure-row{flex-wrap:wrap}.branch-inline-edit{border:1px solid var(--border);background:#faf9f7;border-radius:10px;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:0 14px 14px;padding:14px;display:grid}.branch-inline-edit .field{gap:4px}.branch-inline-edit .field label{color:var(--muted-foreground);font-size:12px}.branch-edit-description{grid-column:1/-1}.branch-edit-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.branch-edit-message{grid-column:1/-1;font-size:13px;font-weight:700}.branch-edit-message.error{color:#b42318}.branch-edit-message.success{color:#166534}.proposal-diff{grid-template-columns:1fr 1fr;gap:14px;display:grid}.proposal-create-card{margin-bottom:18px}.proposal-person-fields{grid-template-columns:2fr 1fr 1fr;gap:14px;display:grid}.proposal-biography-field,.proposal-reason-field{grid-column:1/-1}.proposal-detail-grid{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:18px;display:grid}.proposal-timeline{gap:16px;display:grid}.proposal-timeline-item{grid-template-columns:14px 1fr;align-items:start;gap:10px;display:grid}.proposal-filter-toolbar{align-items:end}.diff-box{border:1px solid var(--border);background:#fafaf9;border-radius:10px;padding:16px}.diff-box.proposed{background:#fcf5f6;border-color:#d8b4ba}.empty-state{text-align:center;padding:48px 20px}.empty-state p{max-width:500px;color:var(--muted-foreground);margin-left:auto;margin-right:auto}.empty-mark{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 14px;font-family:Georgia,serif;font-weight:800;display:grid}.mobile-bottom-nav{display:none}.login-page{background:#fff;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:linear-gradient(135deg,#5f1220 0%,#8b1e2d 65%,#a24a38 100%);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.login-visual:after{content:"";border:1px solid #fff3;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-180px;right:-150px;box-shadow:0 0 0 70px #ffffff09,0 0 0 140px #ffffff06}.login-visual h1{max-width:560px;font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.05}.login-form-wrap{place-items:center;padding:32px;display:grid}.login-form{width:min(440px,100%)}.login-form .brand{padding-left:0}.login-form-grid{gap:19px;margin-top:28px;display:grid}.login-help{color:var(--muted-foreground);font-size:14px}.auth-switch{text-align:center;margin-top:20px}.auth-switch a{color:var(--primary);text-underline-offset:3px;font-weight:800;text-decoration:underline}.registration-requests-section{margin-bottom:18px}.registration-request-list{display:grid}.registration-request-card{border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,.7fr) minmax(0,1.6fr);gap:18px;padding:18px 20px;display:grid}.registration-request-card:last-child{border-bottom:0}.registration-request-identity{align-content:start;gap:3px;display:grid}.registration-request-identity span,.registration-request-identity small{color:var(--muted-foreground)}.registration-review-form{grid-template-columns:1fr 1fr;align-items:end;gap:12px;display:grid}.registration-reason,.registration-review-actions,.registration-review-form .membership-edit-message{grid-column:1/-1}.registration-review-actions{justify-content:flex-end;gap:8px;display:flex}.registration-request-empty{color:var(--muted-foreground);margin:0;padding:22px 20px}.tree-shell{border:1px solid var(--border);background:#fdfcfb;border-radius:14px;height:calc(100vh - 162px);min-height:570px;position:relative;overflow:hidden}.tree-topbar{z-index:5;pointer-events:none;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.tree-topbar>*{pointer-events:auto}.tree-search-wrap{flex:380px;min-width:260px;position:relative}.tree-search{width:100%;min-width:0}.tree-search-suggestions{z-index:10;background:#fff;border:1px solid #d6d3d1;border-radius:10px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 12px 28px #1c191729}.tree-search-option{color:#292524;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eeeae7;width:100%;padding:9px 12px;display:block}.tree-search-option:last-child{border-bottom:0}.tree-search-option:hover,.tree-search-option.active{background:#fcf3f5}.tree-search-option strong,.tree-search-option small{display:block}.tree-search-option small{color:#6b625e;margin-top:2px;font-size:12px}.tree-search-empty{color:#78716c;background:#fff;padding:12px;font-size:13px}.tree-person-node{box-sizing:border-box;color:#292524;background:#faf9f7;border:1px solid #a8a29e;border-radius:11px;width:100%;min-width:0;min-height:180px;padding:8px 10px;position:relative;box-shadow:0 4px 14px #1c191714}.tree-person-node.gender-other,.tree-person-node.gender-unknown{background:#faf9f7;border-color:#a8a29e}.tree-person-node.selected{border:2px solid var(--primary)}.tree-person-node strong{white-space:nowrap;display:block}.tree-person-node small{color:#6b625e;display:block}.tree-person-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:142px;display:flex}.tree-person-copy{width:100%;min-width:0}.tree-person-avatar-column{flex:none;justify-items:center;gap:2px;width:79px;display:grid}.tree-person-avatar{object-fit:cover;background:#f5f5f4;border:2px solid #fff;border-radius:50%;flex:none;width:79px;height:79px;box-shadow:0 2px 7px #1c191726}.tree-person-avatar-fallback{color:#fff;background:#8b5d66;place-items:center;font-size:25px;font-weight:800;display:grid}.tree-person-profile-link{border:1px solid var(--primary);color:#fff;background:var(--primary);white-space:nowrap;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:800;line-height:1.2;text-decoration:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 5px 14px #8b1e2d38}.tree-person-profile-link:hover,.tree-person-profile-link:focus-visible{color:var(--primary);background:#fff;outline:3px solid #8b1e2d24}.tree-gender-badge{color:#57534e;text-align:center;background:#ffffffb8;border-radius:999px;min-width:32px;padding:1px 6px;font-size:9px;font-weight:700;line-height:1.25}.tree-person-node.gender-male .tree-gender-badge{color:#405561;background:#e4ebee}.tree-person-node.gender-female .tree-gender-badge{color:#864653;background:#f5e1e5}.tree-spouse-group{pointer-events:none;background:#fcf5f62e;border:1px dashed #8b1e2da8;border-radius:10px;width:100%;height:100%}.tree-household-handle{background:var(--primary)!important;border:2px solid #fff!important;width:9px!important;height:9px!important}.tree-branch-toggle-node{place-items:center;width:32px;height:32px;display:grid}.tree-branch-toggle-button{border:2px solid var(--primary);color:#fff;background:var(--primary);cursor:pointer;border-radius:999px;place-items:center;width:32px;height:32px;padding:0;font-size:23px;font-weight:800;line-height:1;display:grid;box-shadow:0 2px 8px #8b1e2d3d}.tree-branch-toggle-button:hover,.tree-branch-toggle-button:focus-visible{color:var(--primary);background:#fff;outline:3px solid #8b1e2d29}.tree-branch-toggle-node .react-flow__handle{background:var(--primary);border:1px solid #fff;width:7px;height:7px}.tree-branch-toggle-node .react-flow__handle-bottom{bottom:50%;transform:translate(-50%,50%)}.tree-limit{z-index:5;position:absolute;top:112px;left:12px;right:12px}.tree-count{z-index:5;border:1px solid var(--border);background:#fffffff0;border-radius:8px;padding:6px 9px;font-size:12px;position:absolute;bottom:12px;left:12px}.tree-reorder-panel{z-index:8;background:#fffffffa;border:1px solid #d6d3d1;border-radius:12px;gap:13px;width:min(440px,100% - 24px);max-height:calc(100% - 82px);padding:16px;display:grid;position:absolute;top:68px;right:12px;overflow:auto;box-shadow:0 12px 32px #1c19172e}.tree-reorder-header,.tree-reorder-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.tree-reorder-header small,.tree-reorder-item small,.tree-reorder-preview small{color:var(--muted-foreground);margin-top:3px;display:block}.tree-reorder-panel .field>span{font-size:13px;font-weight:700}.tree-reorder-panel .textarea{min-height:70px}.tree-reorder-list,.tree-reorder-changes{gap:7px;display:grid}.tree-reorder-item{background:#fafaf9;border:1px solid #e7e5e4;border-radius:9px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.tree-reorder-item[draggable=true]{cursor:grab}.tree-reorder-item.dragging{opacity:.55;border-color:var(--primary);cursor:grabbing}.tree-reorder-number{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.tree-reorder-arrows{gap:5px;display:flex}.tree-reorder-arrows .icon-button{width:36px;height:36px}.tree-reorder-preview{background:#fffbeb;border:1px solid #eed69b;border-radius:9px;padding:11px}.tree-reorder-changes{max-height:190px;margin-top:8px;overflow:auto}.tree-reorder-changes>div{border-bottom:1px solid #f2dfae;padding-bottom:6px}.tree-reorder-message{color:#243b64;background:#eff6ff;border-radius:8px;padding:9px 11px;font-size:14px}.check-row{align-items:flex-start;gap:8px;font-size:14px;display:flex}.family-edit-section{border:1px solid var(--border);background:#fff;border-radius:11px;overflow:hidden}.family-edit-section>summary{cursor:pointer;color:var(--primary);background:#fafaf9;padding:14px 16px;font-weight:800}.family-edit-section[open]>summary{border-bottom:1px solid var(--border)}.family-edit-section-body{padding:14px}.family-edit-section-body>.card{box-shadow:none;border:0}@media (max-width:1023px){.heritage-calendar-layout{grid-template-columns:1fr}.heritage-event-list{max-height:none}.branch-inline-edit{grid-template-columns:repeat(2,minmax(140px,1fr))}.app-frame{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 16px;top:0}.content{padding:20px 16px 92px}.mobile-bottom-nav{z-index:50;height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav-link{color:#6b625e;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:5px 4px;font-size:11px;font-weight:700;display:flex}.mobile-nav-link.active{color:var(--primary)}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.profile-grid{grid-template-columns:1fr}.person-classification-grid>.field{grid-template-rows:auto}.tree-shell{height:calc(100vh - 194px);min-height:520px}}@media (max-width:639px){.heritage-calendar-header{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:22px}.heritage-calendar-header h1{font-size:25px}.heritage-calendar-controls{justify-content:space-between}.heritage-calendar-toggle{flex:1}.heritage-calendar-toggle a{flex:1;min-width:0}.heritage-calendar-add{min-width:142px;padding-left:12px;padding-right:12px}.heritage-calendar-layout{gap:28px}.heritage-calendar-card{padding:14px}.heritage-month-navigation h2{font-size:21px}.heritage-calendar-filter{align-items:stretch}.heritage-calendar-filter .select{width:100%;min-width:0}.heritage-calendar-grid{gap:2px}.heritage-calendar-cell{min-height:60px!important;padding:3px 1px!important}.heritage-calendar-day strong{width:27px;height:27px;font-size:14px}.heritage-calendar-day small{white-space:nowrap;text-overflow:ellipsis;max-width:42px;overflow:hidden}.heritage-upcoming .calendar-section-heading h2{font-size:23px}.heritage-event-card{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:14px}.heritage-event-date{width:58px;height:58px}.heritage-event-card>.badge{grid-column:2;width:fit-content}.registration-request-card,.registration-review-form{grid-template-columns:1fr}.registration-reason,.registration-review-actions,.registration-review-form .membership-edit-message{grid-column:1}.registration-review-actions{grid-template-columns:1fr 1fr;display:grid}.calendar-month-section{width:100%;min-width:0}.calendar-month-card{border-radius:14px}.calendar-month-card .calendar-header-cell{min-width:0;padding:6px 1px;font-size:10px}.calendar-month-card .calendar-cell{min-width:0;min-height:66px;padding:3px}.calendar-month-card .calendar-day{gap:1px;font-size:11px;display:grid}.calendar-month-card .calendar-day small{white-space:nowrap;text-overflow:ellipsis;font-size:8px;line-height:1.15;overflow:hidden}.calendar-month-card .calendar-event{white-space:nowrap;text-overflow:ellipsis;margin-top:3px;padding:3px;font-size:9px;line-height:1.2;overflow:hidden}.calendar-month-card .calendar-event small{display:none}.proposal-person-fields,.proposal-detail-grid{grid-template-columns:1fr}.proposal-biography-field,.proposal-reason-field{grid-column:auto}.branch-inline-edit{grid-template-columns:1fr;margin-left:14px!important}body{font-size:16px}.topbar{height:58px}.content{padding-top:18px}.page-header{display:grid}.page-actions,.page-actions .button{width:100%}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-value{font-size:23px}.table-wrap{display:none}.mobile-person-list{display:grid}.profile-hero{grid-template-columns:auto 1fr;padding:16px}.profile-hero-centered{display:flex}.profile-hero .profile-actions{grid-column:1/-1;width:100%;display:flex}.profile-hero .profile-actions .button{flex:1}.profile-avatar{width:58px;height:58px}.profile-avatar-image,.profile-avatar-large{width:150px;height:150px}.person-avatar-field{text-align:center;grid-template-columns:1fr;justify-items:center}.person-avatar-input{text-align:left;width:100%}.profile-name{font-size:20px}.info-row{grid-template-columns:1fr;gap:2px}.calendar-scroll{margin-left:0;margin-right:0;overflow-x:hidden}.import-upload{grid-template-columns:1fr}.import-upload>*{grid-column:1!important}.import-summary,.export-grid{grid-template-columns:1fr}.export-card-wide{grid-column:auto}.export-form{grid-template-columns:1fr}.export-form .button{width:100%}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-filter-form{width:100%;margin-left:0}.calendar-filter-form .select{width:100%}.calendar-month-navigation h2{flex:1;min-width:0;font-size:18px}.event-summary-grid{grid-template-columns:1fr}.event-summary-grid>p{grid-column:auto}.proposal-diff,.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100vh;padding:22px}.tree-shell{border-left:0;border-right:0;border-radius:0;height:calc(100vh - 194px);margin:0 -16px}.tree-topbar{right:64px}.tree-search-wrap{width:calc(100% - 58px)}.tree-count{bottom:12px;left:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.proposal-evidence-grid{gap:10px;margin-bottom:18px;display:grid}.proposal-evidence-item{border:1px solid var(--border);border-radius:12px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.proposal-evidence-preview{width:52px;height:52px;color:var(--primary);background:#fafaf9;border-radius:10px;place-items:center;display:grid}.proposal-evidence-info{gap:3px;min-width:0;display:grid}.proposal-evidence-info strong,.proposal-evidence-info small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.proposal-evidence-form{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;align-items:end;gap:12px;padding-top:18px;display:grid}.proposal-evidence-description{grid-column:1/-1}.proposal-evidence-form .button{grid-column:1/-1;justify-self:end}.form-stack{gap:16px;display:grid}.form-stack>.button{justify-self:end}.checkbox-row{align-items:center;gap:9px;font-weight:650;display:flex}@media (max-width:700px){.proposal-evidence-item{grid-template-columns:44px minmax(0,1fr)}.proposal-evidence-item>.button{grid-column:1/-1;width:100%}.proposal-evidence-preview{width:44px;height:44px}.proposal-evidence-form{grid-template-columns:1fr}.proposal-evidence-description,.proposal-evidence-form .button{grid-column:1;width:100%}}:root{--background:#fafaf5;--foreground:#1a1c19;--card:#fff;--primary:#775a19;--primary-dark:#5d4201;--primary-soft:#f7f0e2;--gold:#c5a059;--muted:#f4f4ef;--muted-foreground:#625a4e;--border:#d9d1c5;--success:#3f6b4a;--warning:#8a651b;--danger:#ba1a1a;--info:#526777;--radius:16px;--heritage-shadow:0 10px 32px -18px #2d2d2d38, 0 2px 8px #2d2d2d09}html{background:#fafaf5}body{color:var(--foreground);background:var(--background);letter-spacing:-.006em;font-family:Manrope,Segoe UI,system-ui,sans-serif}h1,h2,h3,strong{letter-spacing:-.018em}h1{font-size:clamp(1.7rem,3vw,2rem);font-weight:650}h2{font-size:1.35rem;font-weight:650}h3{font-size:1.08rem;font-weight:650}.app-frame{grid-template-columns:272px minmax(0,1fr)}.sidebar{background:#fff;border-color:#e4ded5;padding:24px 16px}.brand{padding-bottom:28px}.brand-mark,.topbar-brand-mark{color:#fff;background:linear-gradient(145deg,#c5a059,#775a19);border-color:#f1e5cc;box-shadow:0 5px 16px #775a1929}.brand strong{color:#4e3700;font-size:15px}.brand small{color:#7f7667}.nav-section-label{color:#8b8378}.nav-link{color:#5f5e5e;border-radius:12px;min-height:48px;font-weight:600}.nav-link:hover{color:#5d4201;background:#f7f4ec}.nav-link.active{color:#5d4201;background:#f2ead9;box-shadow:inset 3px 0 #c5a059}.sidebar-footer{border-color:#e4ded5}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafaf5eb;border-color:#e4ded5;height:68px;padding:0 32px}.topbar-brand{color:#775a19;align-items:center;gap:9px;display:none}.topbar-brand-mark{border:2px solid #f1e5cc;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.content{width:100%;max-width:1440px;padding:36px 40px}.page-header{margin-bottom:28px}.page-description{color:#625a4e;line-height:1.6}.eyebrow{color:#8a651b;letter-spacing:.08em;font-size:12px}.button{min-height:44px;box-shadow:none;border-radius:9px;font-weight:650}.button-primary{color:#fff;background:#c29a4f}.button-primary:hover{color:#fff;background:#a77d31;transform:translateY(-1px)}.button-secondary{color:#3f3d39;background:#fff;border-color:#cfc5b7}.button-secondary:hover{color:#5d4201;background:#fbf8f1;border-color:#c5a059}.button-ghost{color:#775a19}.icon-button{color:#5f5e5e;background:#fff;border-color:#d9d1c5;border-radius:10px}.icon-button:hover{color:#775a19;background:#f7f0e2}.card{box-shadow:var(--heritage-shadow);border-color:#ded8ce;border-radius:16px}.card-header{border-color:#e7e1d7;padding:19px 22px}.card-body{padding:22px}.stats-grid{gap:18px;margin-bottom:24px}.stat-card{min-height:144px;padding:20px;position:relative;overflow:hidden}.stat-icon{color:#775a19;background:#f2ead9;border-radius:12px}.stat-value{color:#775a19;font-size:30px;font-weight:700}.stat-label{color:#625a4e}.dashboard-grid{gap:24px}.list-item{border-color:#e7e1d7;padding:16px 20px}.list-item:hover{background:#fcfbf7}.event-dot{background:#c5a059;box-shadow:0 0 0 4px #f7f0e2}.dashboard-search{max-width:760px;box-shadow:var(--heritage-shadow);background:#fff;border:1px solid #d9d1c5;border-radius:14px;align-items:center;gap:12px;margin:-8px 0 24px;padding:7px 8px 7px 16px;display:flex}.dashboard-search>svg{color:#7f7667;flex:none}.dashboard-search input{color:#1a1c19;background:0 0;border:0;outline:0;flex:1;min-width:0}.dashboard-tree-hero{background:linear-gradient(135deg,#fff 0%,#faf7ef 100%);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;min-height:230px;margin-bottom:24px;padding:32px;display:grid;position:relative;overflow:hidden}.dashboard-tree-hero:after{content:"";border:1px solid #c5a05938;border-radius:50%;width:340px;height:340px;position:absolute;top:-180px;right:-150px;box-shadow:0 0 0 52px #c5a0590b,0 0 0 104px #c5a05907}.dashboard-tree-hero>div{z-index:1;max-width:680px;position:relative}.dashboard-tree-hero h2{margin:14px 0 7px;font-size:clamp(1.45rem,3vw,2rem)}.dashboard-tree-hero p{color:#625a4e;max-width:620px;margin-bottom:20px}.dashboard-tree-hero>svg{z-index:1;color:#775a194d;stroke-width:1.1px;width:108px;height:108px;position:relative}.input,.select,.textarea{color:#1a1c19;background:#fff;border-color:#d1c5b4;border-radius:9px}.input:focus,.select:focus,.textarea:focus{border-color:#c5a059;outline:3px solid #c5a05929}.field label{color:#3f3d39;letter-spacing:.01em;font-size:13px;font-weight:650}.toolbar{background:#f7f6f1;border:1px solid #e1dbd1;border-radius:14px;padding:14px}.data-table th{color:#625a4e;background:#f4f4ef;border-color:#e3ddd3}.data-table td{border-color:#e8e3da}.data-table tbody tr:hover{background:#fbfaf6}.avatar{background:linear-gradient(145deg,#c5a059,#775a19)}.tabs{background:#f4f4ef;border-color:#d9d1c5;border-radius:12px;padding:5px}.tab{color:#625a4e;border-radius:9px}.tab.active{color:#5d4201;background:#fff;box-shadow:0 2px 8px #2d2d2d0f}.badge-brand{color:#5d4201;background:#f4ead5}.badge-neutral{color:#5f5e5e;background:#eeeee9}.badge-warning{color:#6f4e08;background:#fff1cf}.badge-success{color:#355c40;background:#e3f1e6}.scope-banner{color:#5a5040;background:#fff9eb;border-color:#ded2bc}.profile-hero{padding:28px}.profile-avatar-image,.profile-avatar-large,.person-avatar-preview{box-shadow:0 10px 30px #775a1924}.profile-avatar-large,.person-avatar-preview{color:#775a19;background:#f2ead9}.relative-chip{background:#f4f4ef;border-color:#d9d1c5;border-radius:999px}.person-avatar-field{background:#fbf9f3;border-color:#ccb98f}.person-parent-option:hover,.person-parent-option.active{background:#f7f0e2}.person-parent-options,.tree-search-suggestions{border-color:#d9d1c5;border-radius:12px;box-shadow:0 18px 42px #2d2d2d24}.tree-shell{box-shadow:inset 0 1px 0 #fffc,var(--heritage-shadow);background-color:#fafaf5;background-image:radial-gradient(circle at 1px 1px,#775a1914 1px,#0000 0);background-size:24px 24px;border-color:#ded8ce;border-radius:16px}.tree-person-node{background:#fff;border-color:#c9c1b5;border-radius:14px;box-shadow:0 8px 22px #2d2d2d14}.tree-person-node.gender-male{background:#f7f9f9;border-color:#83929b}.tree-person-node.gender-female{background:#fdf8f8;border-color:#b68a91}.tree-person-node.selected{border-color:#c5a059}.tree-person-node.centered{box-shadow:0 0 0 3px #c5a05933,0 8px 22px #2d2d2d14}.tree-household-handle,.tree-branch-toggle-button,.tree-branch-toggle-node .react-flow__handle{background:#775a19!important}.tree-branch-toggle-button{border-color:#775a19;box-shadow:0 3px 10px #775a193d}.tree-branch-toggle-button:hover,.tree-branch-toggle-button:focus-visible{color:#775a19}.tree-person-profile-link{background:#775a19;border-color:#775a19;box-shadow:0 5px 14px #775a1933}.tree-person-profile-link:hover,.tree-person-profile-link:focus-visible{color:#775a19}.tree-spouse-group{background:#c5a05909;border-color:#775a197a}@media (min-width:1024px){.content:has(>.tree-page-fullbleed){max-width:none;margin:0;padding:12px 16px 16px}.tree-page-fullbleed{width:100%;height:100%}.tree-page-fullbleed .tree-shell{border-radius:12px;width:100%;height:calc(100dvh - 96px);min-height:620px}}.heritage-calendar-add,.heritage-calendar-toggle a.active,.heritage-calendar-today .heritage-calendar-day strong{background:#c29a4f}.heritage-calendar-card,.heritage-event-card{box-shadow:var(--heritage-shadow);border-color:#ded8ce}.heritage-event-date{color:#775a19;background:#f7f4ec}.login-page{background:#fafaf5}.login-visual{color:#fff;background-image:linear-gradient(#2619001f,#261900ad),url(/login-heritage.png);background-position:50%;background-size:cover}.login-visual:after{display:none}.login-visual h1{font-family:Manrope,Segoe UI,sans-serif;font-size:clamp(2.2rem,4.6vw,4rem);font-weight:650}.login-visual-copy{margin-block:auto}.login-form-wrap{background:#fafaf5}.login-form{box-shadow:var(--heritage-shadow);background:#ffffffe0;border:1px solid #e1dbd1;border-radius:18px;padding:32px}.login-form .brand{text-align:left;justify-content:center}.login-form>h1,.login-form>.page-description{text-align:center}.auth-switch a{color:#9a7125}.media-card,.export-card,.diff-box,.family-edit-section,.membership-edit-form,.branch-inline-edit{background:#fff;border-color:#ded8ce}.media-preview{color:#775a19;background-color:#f4f4ef}.empty-mark{background:linear-gradient(145deg,#c5a059,#775a19)}@media (max-width:1023px){.topbar{justify-content:space-between}.topbar-brand{display:flex}.content{padding:26px 22px 96px}.mobile-bottom-nav{height:calc(72px + env(safe-area-inset-bottom));background:#fafaf5f7;border-color:#ddd5c8;box-shadow:0 -8px 24px #2d2d2d0e}.mobile-nav-link{color:#73716c;font-weight:600}.mobile-nav-link.active{color:#775a19}}@media (max-width:639px){.topbar{height:62px;padding:0 16px}.topbar-brand strong{font-size:16px}.top-actions{margin-left:auto}.content{padding:24px 16px 92px}.page-header{gap:16px;margin-bottom:22px}.page-header h1{font-size:25px}.heritage-dashboard .page-actions{display:none}.dashboard-search{margin-top:0}.dashboard-search .button{display:none}.dashboard-tree-hero{min-height:250px;padding:24px}.dashboard-tree-hero>svg{opacity:.65;width:120px;height:120px;position:absolute;bottom:-16px;right:-18px}.stats-grid{gap:12px}.stat-card{min-height:132px}.login-form-wrap{padding:16px}.login-form{padding:26px 20px}.tree-shell{border-radius:0}}html{overflow-x:clip}img,video,canvas{max-width:100%}.react-flow__edges,.react-flow__connectionline{max-width:none}.react-flow__edge-path{visibility:visible;opacity:1;vector-effect:non-scaling-stroke}.main-column,.content,.card,.card-body,.table-wrap{min-width:0}@media (min-width:1024px) and (max-width:1279px){.app-frame{grid-template-columns:232px minmax(0,1fr)}.sidebar{padding-inline:12px}.content{padding:30px 28px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heritage-calendar-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.membership-edit-form{grid-template-columns:minmax(150px,.75fr) minmax(190px,1fr) auto}}@media (max-width:1023px){.app-frame{display:block}.main-column,.topbar{width:100%}.content{max-width:100%}.page-header,.heritage-calendar-header,.page-actions{flex-wrap:wrap}.dashboard-tree-hero{grid-template-columns:minmax(0,1fr)}.dashboard-tree-hero>svg{opacity:.24;position:absolute;bottom:8px;right:18px}.toolbar,.proposal-filter-toolbar{align-items:stretch}.toolbar>.input,.toolbar>.select,.toolbar>label{flex:210px}.membership-edit-form{grid-template-columns:1fr 1fr}.membership-edit-form>.button,.membership-edit-message{grid-column:1/-1}.membership-edit-form>.button{justify-self:end}.export-grid,.proposal-detail-grid{grid-template-columns:1fr}.export-card-wide{grid-column:auto}.mobile-bottom-nav{overscroll-behavior-x:contain;scrollbar-width:none;overflow:auto hidden}.mobile-bottom-nav::-webkit-scrollbar{display:none}}@media (max-width:639px){.topbar-brand{min-width:0}.topbar-brand strong{text-overflow:ellipsis;white-space:nowrap;max-width:48vw;overflow:hidden}.top-actions{gap:5px}.top-actions .button{min-height:38px;padding:7px 11px;font-size:13px}.icon-button{width:40px;height:40px}.content{overflow-x:clip}.page-header{grid-template-columns:minmax(0,1fr)}.page-header>div,.page-actions{min-width:0}.page-actions{grid-template-columns:1fr;display:grid}.page-actions .button{justify-content:center}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{aspect-ratio:1;grid-template-rows:auto 1fr auto;min-height:0;padding:14px;display:grid}.stat-icon{width:38px;height:38px}.stat-value{align-self:end;font-size:clamp(24px,8vw,32px);line-height:1}.stat-label{font-size:13px;line-height:1.25}.dashboard-search{width:100%;padding-left:12px}.dashboard-tree-hero{min-height:280px}.dashboard-grid,.profile-grid,.event-summary-grid,.proposal-diff,.export-grid{grid-template-columns:1fr}.card-header{flex-direction:column;align-items:flex-start}.card-header>.button,.card-header>form{width:100%}.card-header>.button{justify-content:center}.card-body{padding:16px}.toolbar,.proposal-filter-toolbar{grid-template-columns:1fr;width:100%;display:grid}.toolbar>*,.proposal-filter-toolbar>*{width:100%!important;min-width:0!important}.toolbar .button{justify-content:center}.table-wrap{overscroll-behavior-x:contain;width:100%;display:block;overflow-x:auto}.data-table{min-width:680px}.mobile-person-list+.table-wrap{display:none}.table-wrap:has(+.mobile-person-list){display:none}.person-mobile-card{grid-template-columns:auto minmax(0,1fr)}.person-mobile-card>.button{grid-column:1/-1;width:100%}.profile-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.profile-hero .profile-actions{flex-direction:column}.profile-hero .profile-actions .button{width:100%}.profile-grid{gap:14px}.info-row{overflow-wrap:anywhere}.person-parent-picker,.person-parent-search{width:100%}.membership-edit-form,.branch-inline-edit,.registration-review-form,.proposal-person-fields,.proposal-evidence-form{grid-template-columns:1fr}.membership-edit-form>*,.membership-edit-form>.button,.membership-edit-message{grid-column:1;width:100%}.branch-edit-actions,.registration-review-actions{grid-template-columns:1fr;display:grid}.branch-edit-actions .button,.registration-review-actions .button{width:100%}.export-card{grid-template-columns:1fr;padding:18px}.export-form{grid-column:1}.import-summary{grid-template-columns:1fr}.heritage-calendar-controls{grid-template-columns:1fr;display:grid}.heritage-calendar-add{width:100%;min-width:0}.heritage-month-navigation{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.heritage-month-navigation h2{min-width:0;font-size:18px}.heritage-calendar-card{padding:10px 6px 14px}.heritage-calendar-filter{padding-inline:5px}.heritage-calendar-grid{width:100%}.heritage-calendar-grid .calendar-header-cell{font-size:9px}.heritage-calendar-cell{min-width:0;min-height:58px!important}.heritage-event-card{grid-template-columns:52px minmax(0,1fr)}.heritage-event-card>.button,.heritage-event-card>.badge{grid-column:2}.calendar-event-dialog-backdrop{padding:10px}.calendar-event-dialog{max-height:85dvh;padding:19px;overflow-y:auto}.tree-shell{width:calc(100% + 32px);height:calc(100dvh - 184px);min-height:500px}.tree-topbar{top:8px;left:8px;right:54px}.tree-search-wrap{width:100%}.tree-search-wrap input{min-width:0}.tree-reorder-panel{width:auto;max-height:calc(100dvh - 130px);left:8px;right:8px}.login-form-wrap{min-width:0;min-height:100dvh}.login-form{width:100%;max-width:520px}}@media (max-width:389px){.topbar-brand strong{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-card{min-height:0;padding:12px}.stat-icon{width:34px;height:34px}.stat-value{font-size:24px}.stat-label{font-size:12px}.content{padding-inline:12px}.tree-shell{width:calc(100% + 24px);margin-inline:-12px}.heritage-calendar-day strong{width:24px;height:24px;font-size:12px}.heritage-calendar-day small{font-size:7px}}.tree-anchor-demo-page{gap:18px;display:grid}.tree-anchor-demo-intro{justify-content:space-between;align-items:center;gap:24px;padding:22px;display:flex}.tree-anchor-demo-intro h2{margin:10px 0 6px;font-size:21px}.tree-anchor-demo-intro p{max-width:760px;color:var(--muted-foreground);margin:0}.tree-anchor-demo-switch{flex:none;align-items:center;gap:9px;font-weight:700;display:flex}.tree-anchor-demo-canvas{border:1px solid var(--border);background-color:#fafaf5;background-image:radial-gradient(circle at 1px 1px,#775a191a 1px,#0000 0);background-size:24px 24px;border-radius:18px;min-height:560px;position:relative;overflow:auto;box-shadow:inset 0 1px #fff}.tree-anchor-guide{z-index:0;text-align:right;border-top:1px dashed #ba1a1a8c;position:absolute;top:206px;left:0;right:0}.tree-anchor-guide span{color:#8c1d18;background:#fff1ef;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;position:relative;top:-25px;right:14px}.tree-anchor-family{z-index:1;justify-items:center;width:max-content;min-width:100%;padding:70px 44px 46px;display:grid;position:relative}.tree-anchor-person{background:#f7f9f9;border:1px solid #83929b;border-radius:13px;align-items:center;gap:11px;width:250px;min-height:88px;padding:10px;display:flex;position:relative;box-shadow:0 8px 20px #2d2d2d14}.tree-anchor-person strong,.tree-anchor-person small{display:block}.tree-anchor-person strong{font-size:14px}.tree-anchor-person small{color:var(--muted-foreground);margin-top:2px;font-size:11px}.tree-anchor-avatar{color:#fff;background:#9e5d6b;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:18px;font-weight:800;display:grid}.tree-anchor-trunk{background:#775a19;width:2px;height:38px}.tree-anchor-toggle{z-index:2;color:#fff;cursor:pointer;background:#775a19;border:2px solid #775a19;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;display:grid;position:relative;box-shadow:0 4px 12px #775a1933}.tree-anchor-toggle span{border:1px solid var(--border);color:var(--foreground);white-space:nowrap;background:#fff;border-radius:7px;padding:4px 7px;font-size:11px;font-weight:700;position:absolute;left:calc(100% + 9px)}.tree-anchor-descendants{transform-origin:top;grid-template-columns:repeat(3,250px);gap:58px;padding-top:72px;transition:opacity .24s,transform .24s,max-height .24s,padding .24s;display:grid;position:relative}.tree-anchor-descendants.collapsed{opacity:0;pointer-events:none;max-height:0;padding-top:0;transform:scale(.96)translateY(-10px)}.tree-anchor-descendants.expanded{opacity:1;max-height:230px;transform:none}.tree-anchor-rail{border-top:2px solid #775a19;height:38px;position:absolute;top:34px;left:125px;right:125px}.tree-anchor-rail:before,.tree-anchor-rail:after{content:"";background:#775a19;width:2px;height:38px;position:absolute;top:0}.tree-anchor-rail:before{left:0}.tree-anchor-rail:after{right:0}.tree-anchor-child:before{content:"";background:#775a19;width:2px;height:38px;margin-top:-76px;margin-left:113px;position:absolute}.tree-anchor-demo-status{border:1px solid var(--border);background:#fffffff0;border-radius:10px;gap:2px;width:fit-content;margin:14px;padding:8px 11px;font-size:12px;display:grid;position:sticky;bottom:14px;left:14px}.tree-anchor-demo-status span{color:var(--muted-foreground)}.tree-anchor-demo-actions{justify-content:flex-end;display:flex}.contact-page{max-width:680px;margin:0 auto;padding-top:clamp(12px,4vw,48px)}.contact-intro{text-align:center;justify-items:center;gap:9px;margin-bottom:32px;display:grid}.contact-intro-icon{color:#a77d31;background:#f2ead9;border-radius:50%;place-items:center;width:48px;height:48px;margin-bottom:7px;display:grid}.contact-intro h1{margin:0}.contact-intro p{max-width:530px;color:var(--muted-foreground);margin:0}.contact-card{padding:26px;overflow:hidden}.contact-person{gap:16px;padding-bottom:20px;display:grid}.contact-card-eyebrow{color:#8a651b;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:750}.contact-person h2{margin:3px 0 0}.contact-label{color:var(--muted-foreground);font-size:13px;display:block}.contact-methods{gap:12px;display:grid}.contact-method{background:#f5f5f0;border-radius:10px;align-items:center;gap:14px;min-width:0;padding:15px;display:flex}.contact-method>svg{color:#a77d31;flex:none}.contact-method>div{flex:1;min-width:0}.contact-method strong{overflow-wrap:anywhere;display:block}.contact-method .button{flex:none}.contact-top-action{display:none}@media (max-width:1023px){.contact-top-action{display:grid}}@media (max-width:639px){.contact-page{padding-top:12px}.contact-intro{margin-bottom:24px}.contact-card{padding:18px}.contact-method{grid-template-columns:21px minmax(0,1fr);display:grid}.contact-method .button{grid-column:1/-1;width:100%}.tree-anchor-demo-intro{flex-direction:column;align-items:flex-start;padding:18px}.tree-anchor-demo-canvas{border-inline:0;border-radius:0;min-height:510px;margin-inline:-16px}.tree-anchor-family{justify-items:center;padding-inline:28px}.tree-anchor-descendants{grid-template-columns:repeat(3,210px);gap:38px}.tree-anchor-person{width:210px}.tree-anchor-rail{left:105px;right:105px}.tree-anchor-child:before{margin-left:93px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
