/* familycentral.love — warm editorial typography, calm greens, generous readable spacing. */
:root{--bg:#f7f8f5;--paper:#fff;--ink:#263d33;--text:#34483e;--muted:#768078;--green:#2d5847;--green-dark:#234637;--sage:#eaf0e5;--line:#e6eae2;--cream:#f8f3e8;--gold:#a88743;--radius:15px;--shadow:0 5px 22px #24362a06;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);font-size:14px;color:var(--text);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink);font-weight:600}h1{font-family:var(--serif);font-size:36px;letter-spacing:-1.1px;line-height:1.2;font-weight:500}h2{font-size:18px;line-height:1.3;letter-spacing:-.25px}h3{font-size:16px}p{line-height:1.7}small{font-size:14px}em{font-weight:400}img{max-width:100%;display:block}svg{flex-shrink:0;vertical-align:middle}.icon{display:inline-block;flex-shrink:0}button{border:0;background:none}input,select,textarea{color:var(--ink)}input:not([type=checkbox]):not([type=file]),select,textarea{width:100%;border:1px solid #dbe1d7;border-radius:8px;padding:11px 13px;background:white;min-height:44px;outline:none;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:#939b94}input:focus,textarea:focus,select:focus{border-color:#7c9a84;box-shadow:0 0 0 3px #dbe9da70}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);flex-shrink:0}select{padding-right:28px}textarea{resize:vertical;line-height:1.6}button:focus-visible,a:focus-visible{outline:3px solid #759d85;outline-offset:4px;border-radius:6px}.skip-link{position:fixed;top:-80px;left:15px;padding:12px 18px;background:var(--green);color:white;z-index:1000}.skip-link:focus{top:12px}.muted{color:var(--muted)}.small{font-size:14px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:#7c8d76;margin-bottom:12px}.brand{display:inline-flex;gap:9px;align-items:center;font-family:var(--serif);font-size:25px;color:var(--ink);line-height:1;white-space:nowrap}.brand-hub{font-weight:600}.brand small{display:block;font:6.8px var(--sans);font-weight:650;letter-spacing:1.5px;margin-top:8px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:39px;height:43px;color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;border:1px solid transparent;border-radius:8px;min-height:43px;font-size:14px;font-weight:600;line-height:1.4;transition:background .18s,transform .18s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff;box-shadow:0 3px 6px #2347330b}.btn-primary:hover{background:var(--green-dark)}.btn-secondary{background:#fff;border-color:#dfe4db;color:#4a5b4e}.btn-secondary:hover{background:#f5f7f2}.btn-light{background:#fffefa;color:var(--green);border-color:#dce4d4}.btn-text{color:var(--green);border:none;background:transparent}.btn-danger{background:#a84038;color:white}.btn-small{min-height:35px;padding:7px 12px;font-size:13px}.btn-large{min-height:50px;padding:14px 22px;font-size:13px}.btn-full{width:100%}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:8px;background:transparent;color:#7d877d;flex-shrink:0}.icon-btn:hover{background:#edf1e8;color:var(--green)}.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-size:13px;font-weight:600;line-height:1.5;padding:0}.text-link:hover{text-decoration:underline}.danger{color:#ac4940}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1.4;padding:5px 8px;background:#f1f4ed;color:#708264;border-radius:5px;white-space:nowrap}.pill-soft{background:#f6f8ee;font-size:10px;letter-spacing:1.1px;color:#7c8c6f;font-weight:700}.pill.success{background:#eaf3e9;color:#42714a}.pill.warning{background:#fff2db;color:#997327}.pill.memorial{background:#f1efee;color:#807d79}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;font-weight:500;font-family:var(--serif);overflow:hidden;line-height:1;position:relative}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-xs{height:27px;width:27px;font-size:12px}.avatar-sm{height:35px;width:35px;font-size:14px}.avatar-md{height:43px;width:43px;font-size:16px}.avatar-lg{height:63px;width:63px;font-size:23px}.avatar-xl{height:100px;width:100px;font-size:34px}.tone-0{background:#e6ddcc;color:#84735e}.tone-1{background:#dfe9db;color:#637b5c}.tone-2{background:#dce6e7;color:#577275}.tone-3{background:#eee0da;color:#9b7161}.tone-4{background:#e6e2ec;color:#817291}.tone-5{background:#eee8c9;color:#8e8254}.avatar-stack{display:flex;align-items:center;padding-left:3px}.avatar-stack .avatar{border:2px solid #fff;margin-left:-4px}.avatar-stack small{margin-left:7px;font-size:12px;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:5px;font-size:14px;color:var(--muted);margin-bottom:24px}.loading-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--muted)}.loading-leaf{width:36px;height:36px;background:#77947c;border-radius:4px 100%;transform:rotate(-45deg);animation:leaf-breathe 1.3s ease-in-out infinite alternate}@keyframes leaf-breathe{to{opacity:.4;transform:rotate(-45deg) scale(.8)}}
/* App frame */
.app-shell{min-height:100vh}.sidebar{width:239px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:27px 17px 0;display:flex;flex-direction:column;z-index:30;overflow-y:auto}.sidebar>.brand{margin-left:9px;margin-bottom:29px}.family-switch{border:1px solid var(--line);border-radius:10px;display:flex;gap:10px;align-items:center;padding:12px 10px;margin-bottom:27px}.family-switch-icon{display:grid;place-items:center;width:34px;height:34px;background:#eef2e8;border-radius:7px;color:#698064;flex-shrink:0}.family-switch strong{font-size:13px;display:block;line-height:1.4}.family-switch small{display:block;font-size:11px;color:#8a9386;margin-top:3px}.family-switch select{border:0!important;padding:0!important;min-height:30px!important;font-size:12px;max-width:135px}.nav-label{font-size:10px;letter-spacing:1.5px;color:#9aa092;font-weight:700;margin:0 12px 10px}.tools-label{margin-top:27px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:3px;min-height:40px;border-radius:7px;font-size:13px;color:#7f887b;font-weight:500;position:relative}.nav-item:hover{background:#f4f6ef;color:var(--green)}.nav-item.active{background:#eaf0e4;color:#3f6347;font-weight:650}.nav-item.active:before{content:'';position:absolute;left:-17px;width:3px;height:23px;background:#68855e;border-radius:0 3px 3px 0}.nav-item .icon{width:17px;height:17px;color:#929b89}.nav-item.active .icon{color:#64825c}.nav-new{margin-left:auto;font-size:6px;letter-spacing:.7px;color:#ab9c79;background:#f8f5eb;padding:3px 4px;border-radius:3px}.count-badge{margin-left:auto;color:#a38d58;background:#f8f2e0;font-size:10px;border-radius:4px;min-width:18px;text-align:center;padding:1px 4px}.sidebar-bottom{margin-top:auto;padding-top:23px}.invite-card{position:relative;background:#f3f5eb;border:1px solid #e8ecd9;padding:17px 13px 14px;border-radius:10px}.invite-card strong{display:block;font-family:var(--serif);font-weight:500;font-size:16px;letter-spacing:-.3px}.invite-card p{font-size:12px;color:#849077;margin:7px 0 12px;line-height:1.6}.invite-card .btn{font-size:12px;min-height:33px;padding:7px 11px}.mini-spark{position:absolute;right:10px;top:11px;color:#a5b692}.sidebar-user{border-top:1px solid var(--line);margin-top:19px;display:flex;gap:9px;align-items:center;padding:18px 0}.sidebar-user>span:nth-child(2){flex:1;min-width:0}.sidebar-user strong{display:block;font-size:13px}.sidebar-user small{display:block;font-size:10px;color:var(--muted)}.sidebar-user .icon-btn{width:25px}.privacy-mini{display:flex;gap:12px;padding:16px;font-size:13px;color:#829279}.app-workspace{margin-left:239px}.topbar{height:75px;display:flex;justify-content:space-between;align-items:center;background:#ffffffda;border-bottom:1px solid var(--line);padding:0 37px;gap:15px}.global-search{display:flex;align-items:center;gap:11px;width:360px}.global-search>.icon{color:#a2ac9c;width:18px}.global-search input{font-size:13px!important;min-height:35px!important;background:transparent!important;border:0!important;padding:4px 0!important;box-shadow:none!important}.global-search kbd{font-family:var(--sans);white-space:nowrap;font-size:11px;color:#a5ac9f;background:#f8f9f4;border:1px solid #e8ece2;padding:2px 5px;border-radius:4px}.topbar-right{display:flex;align-items:center;gap:20px}.private-label{display:flex;gap:6px;align-items:center;font-size:11px;color:#a0aa96}.notifications{position:relative}.notifications>span{position:absolute;right:9px;top:6px;width:5px;height:5px;background:#a7af81;border:1px solid white;border-radius:50%}.mobile-menu,.mobile-bottom,.sidebar-overlay{display:none}.main-content{max-width:1610px;margin:0 auto;padding:31px 37px 0;min-height:calc(100vh - 75px);outline:none}.page-header{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:27px}.page-header .eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:9px}.page-header h1{font-size:32px;letter-spacing:-.8px}.page-header p{font-size:13px;color:#8c9586;margin-top:8px}.page-actions{display:flex;gap:9px;align-items:center}.page-actions .btn{font-size:13px;padding:10px 14px}.demo-banner{margin-bottom:22px;padding:9px 12px;border:1px solid #e8e4cf;background:#faf8ed;color:#8e8b6d;font-size:11px;border-radius:7px;display:flex;gap:8px;align-items:center}.demo-banner a{margin-left:auto;color:#7a805e;white-space:nowrap}.demo-banner span{flex:1}.app-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #e8ece2;padding:23px 0 26px;margin-top:32px;font-size:10px;color:#a0aa97}.app-footer span{display:flex;align-items:center;gap:6px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.padded{padding:23px}.padded>h2{margin-bottom:18px}.padded>p{margin-bottom:14px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 23px 15px}.panel-header h2{font-size:16px}.panel-header p{font-size:12px;color:#9aa08f;margin-top:5px}.panel-header>.text-link{font-size:11px;white-space:nowrap}.column-stack{display:flex;flex-direction:column;gap:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-heading h2{font-size:17px}.result-summary{font-size:13px;color:var(--muted);margin:18px 0 14px}.empty-state{text-align:center;padding:55px 25px;color:var(--muted);grid-column:1/-1;width:100%}.empty-icon{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#eef3e8;color:#91a383;margin-bottom:18px}.empty-state h3{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:9px}.empty-state p{font-size:13px;max-width:400px;margin:0 auto 20px}.empty-state .btn{margin-top:4px}
/* Dashboard */
.welcome-grid{display:grid;grid-template-columns:1.92fr 1fr;gap:22px;margin-bottom:23px}.welcome-card{border:1px solid #dfe7d7;border-radius:15px;background:#edf2e6;min-height:268px;display:flex;position:relative;overflow:hidden;padding:27px 29px}.welcome-copy{position:relative;z-index:2;min-width:52%}.welcome-copy h2{font-family:var(--serif);font-size:35px;line-height:1.12;font-weight:400;letter-spacing:-.9px;margin:13px 0 12px}.welcome-copy h2 em{color:#6b8460}.welcome-copy p{font-size:12px;color:#859176;line-height:1.65;margin-bottom:17px}.welcome-copy>.text-link{font-size:11px}.family-art{position:absolute;right:0;top:0;width:47%;height:100%;overflow:hidden}.art-orbit{border:1px solid #dbe5ce;border-radius:50%;position:absolute}.orbit-one{width:240px;height:240px;right:-34px;top:17px}.orbit-two{width:174px;height:174px;right:0;top:50px}.art-leaf{position:absolute;border-radius:0 100%;background:#d9e4c8;transform:rotate(-35deg)}.leaf-one{width:80px;height:165px;bottom:-50px;right:-13px}.leaf-two{width:36px;height:100px;bottom:-25px;right:66px;transform:rotate(15deg);background:#e2e9d7}.art-tag{position:absolute;font-family:var(--serif);font-size:12px;font-style:italic;color:#8e9b7b;z-index:3}.tag-top{top:18px;right:27px;transform:rotate(7deg)}.tag-bottom{bottom:17px;left:34px;background:#ffffffaa;padding:6px 10px;border-radius:30px;display:flex;gap:5px;align-items:center;font-family:var(--sans);font-style:normal;font-size:10px;box-shadow:0 2px 4px #34492205}.family-art .avatar-lg{width:55px;height:55px;font-size:20px;border:4px solid #f7faf1;box-shadow:0 4px 12px #5b694b13}.art-person{position:absolute;text-align:center;z-index:2}.art-person>span:last-child{display:block;font-size:10px;color:#748467;margin-top:4px}.art-person-0{top:36px;left:48%}.art-person-1{top:97px;left:9%}.art-person-2{top:121px;left:65%}.art-person-3{top:181px;left:31%}.art-person-4{top:18px;left:2%;transform:scale(.8)}.art-empty{position:absolute;inset:0;display:grid;place-items:center;color:#9bb38c}.next-card{background:#fbf7ee;border:1px solid #eee6d6;border-radius:15px;min-height:268px;padding:23px 24px;text-align:center}.card-eyebrow{display:flex;align-items:center;justify-content:center;gap:6px;font-size:7px;font-weight:600;letter-spacing:1px;color:#ad9c7b}.next-event-symbol{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#f5edd9;color:#b09c65;margin:17px auto 12px}.next-event-date{font-size:10px;letter-spacing:1px;color:#b09d79;margin-bottom:7px}.next-card h2{font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.2;margin-bottom:7px}.next-card p{font-size:13px;color:#ab9d83;margin-bottom:13px}.next-card .text-link{font-size:12px;color:#9f8d65}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.stat-card{display:flex;align-items:center;gap:13px;padding:19px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;position:relative;min-width:0}.stat-card:hover{border-color:#b9c9b0}.stat-icon{height:41px;width:41px;border-radius:10px;display:grid;place-items:center;background:#f0f3e9;color:#9aae7e}.stat-1{background:#f7f2e7;color:#b6a27a}.stat-2{background:#f8efea;color:#c3a58c}.stat-3{background:#f5edef;color:#bc9ca6}.stat-card strong{display:block;font-size:26px;font-family:var(--serif);line-height:1;font-weight:500;color:#4a5b3c}.stat-card div>span{display:block;font-size:10px;color:#9ca38f;margin-top:7px}.stat-chevron{margin-left:auto;color:#b6bdab;opacity:.65}.dashboard-columns{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.events-list{padding:0 23px 6px}.event-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px 0;border-top:1px solid #f0f2ec}.event-row:hover .event-description strong{color:#6b8c56}.date-tile{width:40px;height:44px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5f1e8;color:#ab9a70;flex-shrink:0}.date-tile b{font-size:17px;line-height:1.1;font-weight:500;font-family:var(--serif)}.date-tile small{font-size:10px;text-transform:uppercase;line-height:1.3;margin-top:3px}.date-tile.anniversary{background:#f7eeee;color:#bc9899}.date-tile.gathering{background:#edf2e8;color:#91a17c}.date-tile.memorial{background:#f0f0eb;color:#a1a48e}.event-description{flex:1;min-width:0}.event-description strong{display:block;font-size:13px;font-weight:550;overflow:hidden;text-overflow:ellipsis}.event-description small{display:block;font-size:11px;color:#9ca18f;margin-top:3px}.event-when{text-align:right;font-size:11px;color:#a2a78f;flex-shrink:0}.event-row>.icon:last-child{width:12px;color:#c5cabd;margin-left:2px}.kind-label{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:10px;margin-top:4px;color:#b9a67f}.kind-label.anniversary{color:#bc9da0}.kind-label.gathering{color:#9aaa88}.health-card{padding-bottom:17px}.health-card .panel-header{padding-bottom:13px}.health-card .panel-header h2{font-size:14px}.health-card .panel-header>.icon{color:#a5b28f;width:17px}.health-summary{padding:0 22px;display:flex;align-items:center;gap:14px}.health-ring{--progress:75%;width:70px;height:70px;flex-shrink:0;background:conic-gradient(#9eaf82 var(--progress),#eef2e6 0);border-radius:50%;display:grid;place-items:center;position:relative}.health-ring:before{content:'';position:absolute;inset:6px;background:#fff;border-radius:50%}.health-ring strong{position:relative;z-index:1;font-family:var(--serif);font-size:25px;font-weight:400;color:#6d8254}.health-ring small{font-size:13px}.health-summary>div:last-child>strong{display:block;font-size:12px;font-weight:600}.health-summary p{font-size:11px;color:#9aA18d;line-height:1.6;margin-top:4px}.health-lines{padding:14px 22px}.health-lines a{display:flex;align-items:center;gap:8px;font-size:11px;color:#9aa38d;padding:5px 0}.health-lines b{margin-left:auto;font-weight:500;color:#8f9d7b}.health-lines .icon{width:12px;color:#b5bfaa}.small-dot{height:4px;width:4px;border-radius:50%;background:#c9b88d}.small-dot.birthday{background:#c6ad9e}.small-dot.address{background:#a5b89a}.health-card>.btn{width:calc(100% - 44px);margin:0 22px;font-size:11px;min-height:34px;background:#fafbf7;color:#8f9b7f;border-color:#e8eddf}.household-preview{display:grid;grid-template-columns:repeat(3,1fr);padding:0 22px 20px;gap:13px}.mini-household{text-align:left;border:1px solid #e9ede2;border-radius:9px;padding:13px 11px;background:#fdfefa;min-width:0}.mini-household:hover{border-color:#bbcba9}.mini-house-icon{display:block;color:#acb79a;margin-bottom:7px}.mini-household>strong{font-size:12px;font-weight:550;display:block;line-height:1.5}.mini-household>span:not(.mini-house-icon){font-size:10px;color:#a4ab97;display:block;margin:4px 0 10px}.mini-household .avatar-stack{flex-wrap:wrap}.mini-household .avatar-xs{width:22px;height:22px;font-size:7px}.mini-household .avatar-stack small{font-size:7px;margin-left:3px}.story-spotlight{border:1px solid #e5e9dd;border-radius:15px;background:#f8f9f2;overflow:hidden}.story-art{height:109px;background:#e9eddf;position:relative;overflow:hidden}.story-sun{position:absolute;width:35px;height:35px;border-radius:50%;background:#dcd7b2;right:53px;top:18px}.story-hill{position:absolute;border-radius:55% 55% 0 0;background:#d5dec7;bottom:-33px;width:270px;height:100px;left:-28px;transform:rotate(10deg)}.hill-two{left:auto;right:-35px;bottom:-49px;transform:rotate(-12deg);background:#c7d3b8;width:250px}.story-house{position:absolute;left:39%;bottom:20px;color:#97aa81}.story-leaf{position:absolute;left:20px;bottom:15px;color:#a6b494;transform:rotate(-22deg)}.story-spotlight-body{padding:18px 22px 21px}.story-spotlight .eyebrow{font-size:7px;letter-spacing:1.2px;margin-bottom:9px;color:#a2ab90}.story-spotlight h2{font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.3}.story-spotlight p{font-size:11px;color:#9ba28c;margin:9px 0 13px;line-height:1.8}.story-spotlight .text-link{font-size:11px;color:#91a179}.activity-panel{margin-top:22px}.activity-panel .panel-header{padding-bottom:5px}.activity-panel .panel-header h2{font-size:14px}.activity-panel .panel-header>.small{font-size:7px;letter-spacing:1px;color:#a9b09d}.activity-list{display:grid;grid-template-columns:repeat(3,1fr);padding:15px 23px 21px;gap:20px}.activity-item{display:flex;gap:10px;align-items:center;font-size:11px;color:#9aa48c;min-width:0}.activity-dot{width:29px;height:29px;background:#f1f5eb;display:grid;place-items:center;flex-shrink:0;border-radius:50%;color:#a1b18a}.activity-item strong{font-weight:600;color:#7f8d70}.activity-item small{font-size:10px;display:block;color:#afb6a5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}.activity-item time{font-size:7px;margin-left:auto;white-space:nowrap;color:#afb6a5}
/* Directory, people, household and profile screens */
.toolbar{display:flex;align-items:center;gap:13px;margin:3px 0 23px}.toolbar>select{width:auto;min-width:170px;font-size:14px}.search-field{display:flex;align-items:center;gap:10px;max-width:470px;flex:1;background:#fff;border:1px solid #dfe5d9;border-radius:8px;padding:0 12px}.search-field>.icon{color:#9aa68e}.search-field input{border:0!important;box-shadow:none!important;font-size:14px;min-height:43px!important;padding-left:0!important;background:transparent!important}.segmented{display:flex;gap:3px;border:1px solid var(--line);border-radius:7px;padding:3px;background:#fff}.segmented button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;min-width:34px;padding:5px 9px;font-size:13px;border-radius:4px;color:#8c9882}.segmented button.active{background:#ecf2e6;color:#5a754b}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.person-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px 20px 0;overflow:hidden;transition:transform .2s,border-color .2s;min-width:0}.person-card:hover{border-color:#b6c9a5;transform:translateY(-3px)}.person-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:17px}.person-card-top .pill{max-width:120px;white-space:normal;font-size:10px}.person-card h3{font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.2}.aka{font-size:12px;color:#9aa58d}.person-household{display:flex;align-items:center;gap:5px;color:#98a28a;font-size:11px;margin:7px 0 18px;line-height:1.5}.person-card-details{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#8e9c7f;padding-bottom:20px}.person-card-details>span{display:flex;align-items:center;gap:7px}.person-card-details .icon{color:#adb99e}.person-card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eef1e8;margin:0 -20px;padding:12px 20px;color:#94a381;font-size:11px}.person-card-bottom>span{display:flex;gap:8px;align-items:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-weight:600;color:#7b8c6d;font-size:12px;letter-spacing:.3px;background:#f9fbf5;white-space:nowrap}td,th{padding:15px 17px;border-bottom:1px solid #edf1e7;vertical-align:middle}tr:last-child td{border-bottom:0}td{color:#7a8970}.table-person{display:flex;gap:10px;align-items:center}.table-person strong{display:block;font-size:13px;color:#52664a;font-weight:550}.table-person small{display:block;font-size:11px;color:#9aa58c;margin-top:3px}.table-person .inline-muted{display:inline}.people-table td{font-size:12px}.profile-hero{display:flex;align-items:center;gap:25px;padding:30px;background:#eef3e8;border:1px solid #e0e9d7;border-radius:15px;margin-bottom:24px}.profile-hero .eyebrow{font-size:10px;margin-bottom:7px}.profile-hero h1{font-size:36px}.profile-hero p{font-size:13px;color:#8c9a7c;margin-top:9px}.profile-actions{margin-left:auto;display:flex;flex-direction:column;gap:9px}.profile-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:23px}.contact-list{margin:0}.contact-list>div{display:grid;grid-template-columns:140px 1fr;padding:14px 0;border-top:1px solid #eef2e9;gap:15px}.contact-list dt{display:flex;gap:9px;align-items:flex-start;color:#8b9b7d;font-size:13px}.contact-list dt .icon{width:16px;height:16px}.contact-list dd{margin:0;font-size:14px;overflow-wrap:anywhere}.contact-list dd small{display:block;color:#9daa90;font-size:12px;margin-top:6px}.important-dates{display:flex;flex-direction:column;gap:22px}.important-dates>div{display:flex;align-items:center;gap:14px}.detail-icon{background:#f3f5ec;color:#9bad86;display:grid;place-items:center;width:42px;height:42px;border-radius:10px;flex-shrink:0}.important-dates small{display:block;color:#94a384;font-size:12px}.important-dates strong{display:block;font-size:14px;font-weight:500;margin:2px 0}.connection-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf1e7}.connection-row strong{display:block;font-size:14px;font-weight:500}.connection-row small{display:block;font-size:12px;color:#9daa90}.connection-row>.icon:last-child{margin-left:auto;color:#b5bfa8}.memory-mini{display:flex;align-items:center;gap:12px;padding:15px 0;width:100%;text-align:left;border-top:1px solid #edf1e7}.memory-mini>.icon:first-child{color:#a8b494}.memory-mini strong{font-size:14px;display:block;font-weight:500}.memory-mini small{font-size:12px;color:#a1ac93;display:block;margin-top:4px}.memory-mini>.icon:last-child{margin-left:auto;color:#aab69a}.danger-zone{margin-top:28px;border-top:1px solid #e7ebdf;padding:17px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.danger-zone p{font-size:12px;color:#9ca38f}.danger-zone button{font-size:12px}.households-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.household-card{padding:24px}.household-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.large-house-icon{display:grid;place-items:center;width:48px;height:48px;background:#f0f4e7;color:#9aae82;border-radius:12px}.household-card h2{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:10px}.household-address{display:flex;gap:6px;align-items:flex-start;color:#95a185;font-size:13px;line-height:1.6;min-height:48px}.household-address .icon{margin-top:3px}.household-members{margin:16px 0}.household-members>a{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #eef2e8}.household-members strong{font-size:14px;font-weight:500;display:block}.household-members small{font-size:11px;color:#9caa8d;display:block}.household-members .icon{margin-left:auto;color:#b2bfa3}.inline-label{font-size:13px;color:#8e9d80;display:flex;align-items:center;gap:10px;white-space:nowrap}.inline-label select{width:auto;max-width:270px;font-size:14px}.directory-groups{display:flex;flex-direction:column;gap:23px}.directory-group-header{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:20px 25px;background:#fafbf6;border-bottom:1px solid var(--line)}.directory-group-header h2{font-family:var(--serif);font-size:23px;font-weight:400}.directory-row{display:grid;grid-template-columns:1.1fr 1fr 1.3fr 30px;gap:22px;padding:19px 25px;border-bottom:1px solid #edf1e7;align-items:center}.directory-row:last-child{border:0}.directory-person{display:flex;gap:10px;align-items:center}.directory-person strong{font-size:14px;display:block;font-weight:500}.directory-person small{font-size:12px;color:#9aaa89;display:block}.directory-row>div:not(.directory-address)>span{display:flex;align-items:center;gap:7px;font-size:12px;margin:5px 0;color:#87977b;overflow-wrap:anywhere}.directory-row .icon{color:#a6b494}.directory-address{display:flex;gap:7px;font-size:12px;color:#9aaa8a;line-height:1.8;align-items:flex-start}
/* Calendar */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.calendar-nav{display:flex;align-items:center;gap:13px}.calendar-nav h2{font-family:var(--serif);font-weight:400;font-size:25px;min-width:175px;text-align:center}.calendar-filters{display:flex;align-items:center;gap:12px}.calendar-filters select{font-size:14px;width:auto}.calendar-panel{border:1px solid #e2e8d9;border-radius:13px;overflow:hidden;background:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f5f8ee;border-bottom:1px solid #e6ecdd}.calendar-weekdays span{padding:13px 0;text-align:center;font-size:12px;color:#8d9b7e;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:128px;border-right:1px solid #edf1e6;border-bottom:1px solid #edf1e6;padding:8px 7px 11px;min-width:0}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell:nth-last-child(-n+7){border-bottom:0}.calendar-cell.other-month{background:#fbfcf8}.calendar-cell.other-month .day-number{color:#c2cdb6}.calendar-cell.today{background:#f8fbf2}.day-number{width:29px;height:29px;border-radius:50%;font-size:13px;color:#8c9b7d;margin-bottom:7px;display:flex;align-items:center;justify-content:center}.calendar-cell.today .day-number{background:#709059;color:white;font-weight:600}.day-number:hover{background:#edf3e4}.day-events{display:flex;flex-direction:column;gap:5px}.calendar-event{display:flex;align-items:center;gap:5px;width:100%;padding:4px 5px;border-radius:4px;background:#f8f1de;color:#aa9360;font-size:10px;text-align:left;min-height:23px}.calendar-event span{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.calendar-event>.icon{flex-shrink:0}.calendar-event.anniversary{background:#faefed;color:#b48c88}.calendar-event.gathering{background:#edf3e5;color:#8da26b}.calendar-event.memorial{background:#efefe9;color:#94977e}.more-events{font-size:10px;text-align:left;color:#97a585;padding:1px 4px}.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:17px;font-size:11px;color:#9ca58c}.calendar-legend>span{display:flex;align-items:center;gap:6px}.calendar-legend i,.mobile-event-dots i{width:6px;height:6px;border-radius:50%;background:#d6c292}.calendar-legend i.anniversary,.mobile-event-dots i.anniversary{background:#d7b4ad}.calendar-legend i.gathering,.mobile-event-dots i.gathering{background:#b9caa1}.calendar-legend i.memorial,.mobile-event-dots i.memorial{background:#bbbfa6}.calendar-legend small{font-size:11px;flex-basis:100%;color:#afb7a3}.mobile-event-dots{display:none}
/* Memories, tree, reports */
.tabs{display:flex;gap:9px;border-bottom:1px solid var(--line);margin-bottom:26px;overflow-x:auto}.tabs button{padding:12px 17px;font-size:14px;color:#94a081;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{border-color:#7d9b63;color:#577447;font-weight:600}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.memory-card{padding:0;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:transform .2s}.memory-card:hover{transform:translateY(-3px)}.memory-card-art{height:200px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e5ebdb;color:#9bac87;overflow:hidden}.memory-card-art>img{width:100%;height:100%;object-fit:cover}.memory-card-art>.icon{position:relative;z-index:1;opacity:.9}.memory-card-art>.pill{position:absolute;left:17px;top:16px;z-index:2;background:#ffffffe0;color:#8f9f7b;text-transform:capitalize;font-size:11px}.memory-art-circle{position:absolute;border:1px solid currentColor;border-radius:50%;width:170px;height:170px;opacity:.2;top:-12px;right:-30px;box-shadow:0 0 0 30px #ffffff20}.memory-art-caption{font-family:var(--serif);font-size:24px;font-style:italic;margin-top:9px;position:relative;z-index:1;opacity:.7}.memory-art-1{background:#f0e7d8;color:#b49f7c}.memory-art-2{background:#e1e9e8;color:#8aa8a4}.memory-art-3{background:#ebe2e4;color:#b5999e}.memory-card-body{padding:23px}.memory-card-body>small{font-size:12px;color:#a3ae95}.memory-card-body h2{font-family:var(--serif);font-weight:400;font-size:24px;margin:8px 0 12px;line-height:1.3}.memory-card-body>p{font-size:13px;color:#8c9a80;line-height:1.8;min-height:75px}.memory-card-footer{margin-top:22px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1e6;padding-top:16px}.memory-card-footer>span{display:flex;align-items:center;gap:5px;font-size:11px;color:#899e72}.memory-full-photo{width:100%;max-height:360px;object-fit:cover;border-radius:10px;margin-bottom:20px}.memory-full-meta{display:flex;align-items:center;gap:15px;color:#9eab8c;font-size:13px;margin-bottom:18px}.memory-full-body{white-space:pre-wrap;font-family:var(--serif);font-size:19px;line-height:1.8;color:#5f7254}.memory-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.memory-tags a{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:4px 10px 4px 4px;font-size:12px;color:#8ca079}.tree-scroll{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fcfdf9}.tree-canvas{position:relative;min-width:850px;padding:20px 30px 40px;width:max-content;min-height:600px}.tree-lines{position:absolute;top:0;left:0;pointer-events:none;z-index:0}.tree-lines path{fill:none;stroke:#c1cfae;stroke-width:1.4;opacity:.7}.tree-lines .partner-line{stroke:#d2c2b3;stroke-dasharray:5 4;stroke-width:1.5}.tree-generation{position:relative;padding-top:18px;margin-bottom:48px;z-index:1}.generation-label{font-size:7px;letter-spacing:1.4px;color:#a3b18e;text-align:center;margin-bottom:20px}.generation-people{display:flex;gap:20px;justify-content:center;min-height:90px}.tree-person{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dde6d2;border-radius:9px;padding:14px 16px;min-width:145px;max-width:190px;box-shadow:0 4px 14px #33472506}.tree-person:hover,.tree-person.focused{border-color:#8ea975;box-shadow:0 4px 14px #3347250e}.tree-person strong{display:block;font-size:14px;font-weight:550}.tree-person small{display:block;font-size:12px;color:#9eae8d}.tree-person small:last-child{font-size:10px;margin-top:4px;color:#b2bda4}.tree-person.remembered{background:#f7f7f2;border-style:dashed}.tree-person.remembered .avatar{filter:grayscale(.75)}.tree-legend{display:flex;flex-wrap:wrap;gap:22px;margin-top:17px;color:#9cab8c;font-size:12px}.tree-legend span{display:flex;align-items:center;gap:7px}.tree-legend i{display:inline-block;width:25px;border-top:1px solid #b4c5a1}.tree-legend i.partner{border-top:1px dashed #cebba6}.reports-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px}.report-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:13px;text-align:left;transition:border-color .2s}.report-card:hover{border-color:#abc299}.report-icon{display:grid;place-items:center;width:46px;height:46px;background:#f0f4e8;color:#a0b38a;border-radius:11px;margin-bottom:18px}.report-card h2{font-family:var(--serif);font-weight:400;font-size:23px;margin-bottom:10px}.report-card p{font-size:13px;color:#9aaa8b;line-height:1.7;min-height:38px}.report-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:21px;padding-top:15px;border-top:1px solid #edf1e6;font-size:12px;color:#7f976a}.report-card-footer>span{display:flex;align-items:center;gap:7px;font-size:7px;color:#a9b59a}.notice{display:flex;align-items:flex-start;gap:10px;padding:14px 17px;background:#f2f5eb;border:1px solid #e6ecdb;border-radius:8px;color:#8b9c78;font-size:13px;line-height:1.7;margin:15px 0}.notice>.icon{color:#9fb087;margin-top:2px}.report-preview-table{max-height:440px;overflow:auto}.report-preview-table td{font-size:12px;min-width:90px}.report-preview-table th{position:sticky;top:0}.export-choices{display:flex;flex-direction:column;gap:12px}.export-choice{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid #e2ead7;border-radius:9px;text-align:left;width:100%}.export-choice>.icon:first-child{color:#a1b48b}.export-choice strong{display:block;font-size:14px;font-weight:500}.export-choice small{display:block;font-size:13px;color:#9eac8b;margin-top:4px}.export-choice>.icon:last-child{margin-left:auto;color:#aab998}.export-choice:hover{background:#f7faf1}
/* Data health, import, settings */
.quality-summary{display:flex;align-items:center;gap:26px;padding:27px 30px;margin-bottom:24px}.health-ring.large{width:95px;height:95px}.health-ring.large:before{inset:8px}.health-ring.large strong{font-size:33px}.quality-summary h2{font-family:var(--serif);font-size:27px;font-weight:400;margin-bottom:10px}.quality-summary p{font-size:14px;color:#97a886;max-width:670px}.quality-issues{padding:0 24px}.quality-row{display:flex;align-items:center;gap:14px;padding:17px 0;border-top:1px solid #edf1e6}.issue-icon{height:37px;width:37px;display:grid;place-items:center;background:#f4f3e7;color:#b2ad7c;border-radius:8px}.issue-icon.email{background:#eef3e9;color:#a2b488}.issue-icon.birthday{background:#faf0e8;color:#c7ac8c}.issue-icon.duplicate{background:#f3eef1;color:#b6a1af}.quality-row>div strong{display:block;font-size:14px;font-weight:550}.quality-row>div small{display:block;font-size:12px;color:#9cac8a;margin-top:3px}.quality-row>.btn,.quality-row>.text-link{margin-left:auto}.quality-summary+.panel{margin-bottom:24px}.approval-row{display:flex;gap:15px;align-items:center;border-top:1px solid #edf1e6;padding:15px 0}.approval-row>div strong{font-size:14px;font-weight:500;display:block}.approval-row small{font-size:12px;color:#9cae8b;display:block;margin-top:4px}.approval-row>.btn,.approval-row>.text-link{margin-left:auto}.import-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;margin-bottom:26px}.upload-zone{display:flex;flex-direction:column;align-items:center;text-align:center;border:1.5px dashed #c9d8bb;background:#f9fbf5;border-radius:12px;padding:36px 15px;margin:25px 0 16px;cursor:pointer}.upload-zone>.icon{color:#a3b78d;margin-bottom:16px}.upload-zone strong{font-family:var(--serif);font-size:24px;font-weight:400}.upload-zone>span:not(.btn){font-size:12px;color:#9dad8b;line-height:1.7;margin:9px 0 20px}.upload-zone input{position:absolute;width:1px;height:1px;opacity:0}.upload-zone:focus-within{outline:3px solid #b7caa2}.upload-zone.dragging{background:#eaf2df;border-color:#7e9d63}.import-help{padding:30px 12px}.import-help h2{font-family:var(--serif);font-size:31px;line-height:1.3;font-weight:400;margin-bottom:22px}.import-help>div:not(.eyebrow){display:flex;gap:14px;margin-top:20px}.import-help b{font-family:var(--serif);color:#aab991;font-weight:400;font-size:24px;line-height:1.3}.import-help strong{font-size:13px;font-weight:500}.import-help p{font-size:13px;color:#9cac89;margin-top:4px;max-width:250px}.import-preview>.notice{margin:10px 22px 20px}.import-preview td{font-size:13px}.import-error{display:block;font-size:12px;color:#ae9775;max-width:300px;margin-top:6px}.mapping-details{padding:20px 22px;font-size:13px;color:#8ea079;border-top:1px solid #e8eedf}.mapping-details summary{cursor:pointer;font-weight:600}.mapping-details>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.mapping-details span{display:inline-flex;gap:7px;align-items:center;background:#f6f8f0;padding:7px 9px;border-radius:5px;font-size:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:25px}.settings-grid .padded{padding:25px}.account-summary{display:flex;gap:17px;align-items:center;margin-bottom:21px}.account-summary strong{display:block;font-size:15px;font-weight:500}.account-summary span{display:block;font-size:13px;color:#8e9f7c;margin-top:4px;overflow-wrap:anywhere}.account-summary small{display:block;font-size:12px;color:#a2b291;margin-top:5px}.settings-divider{border-top:1px solid #e8eedf;margin:25px 0}.settings-grid h3{margin-bottom:9px;font-size:15px;font-weight:500}.settings-grid p{font-size:13px;margin-bottom:17px}.settings-grid~.panel{margin-bottom:24px}.members-table td{font-size:13px}.role-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:24px;background:#fafcf5;border-top:1px solid var(--line)}.role-guide span{font-size:12px;color:#9bab89;line-height:1.7}.role-guide b{display:block;font-size:13px;color:#7b9364;margin-bottom:5px;font-weight:600}.privacy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;margin-top:20px}.privacy-grid>.icon,.privacy-grid>div>.icon{color:#9fb589;margin-bottom:11px}.privacy-grid h3{font-size:13px;margin-bottom:8px;font-weight:500}.privacy-grid p{font-size:13px;color:#99ab86;line-height:1.8}.simple-details{display:grid;grid-template-columns:120px 1fr;gap:12px;font-size:14px}.simple-details dt{color:#9cab8d}.simple-details dd{margin:0}.search-examples{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}.search-examples .pill{cursor:pointer;padding:9px 12px}.search-examples .pill:hover{background:#e2ebd5}
/* Dialogs and forms */
.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#1c312750;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}.modal{width:min(550px,100%);max-height:92vh;background:#fff;border:1px solid #dbe4d3;border-radius:16px;box-shadow:0 24px 100px #14281e38;display:flex;flex-direction:column;outline:none}.modal-wide{width:min(790px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e7eddf;flex-shrink:0}.modal-header h2{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.5px}.modal-body{padding:24px;overflow-y:auto;overscroll-behavior:contain}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:17px 24px;border-top:1px solid #e7eddf;flex-wrap:wrap}.modal-footer .push-left{margin-right:auto}.field{display:block;margin-bottom:17px}.field>span{display:block;color:#708561;font-size:13px;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea{font-size:13px}.field>small{display:block;font-size:12px;color:#99aa88;margin-top:6px;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.form-error{padding:11px 14px;background:#fbedeb;border:1px solid #efd4ce;color:#b0675c;border-radius:7px;font-size:14px;line-height:1.6;margin-bottom:18px}.check-label{display:flex;align-items:center;gap:10px;font-size:14px;color:#839772;margin:15px 0 22px;line-height:1.6}.check-label input{margin:0}.wizard-steps{display:flex;justify-content:space-between;gap:7px;padding:3px 0 23px;margin-bottom:20px;border-bottom:1px solid #edf1e5}.wizard-step{display:flex;align-items:center;gap:7px;font-size:12px;color:#adbba0}.wizard-step span{width:25px;height:25px;background:#f2f6eb;border:1px solid #e5edda;border-radius:50%;display:grid;place-items:center;font-size:12px}.wizard-step.active{color:#709351;font-weight:600}.wizard-step.active span{background:#789a60;color:white;border-color:#789a60}.wizard-step.done span{background:#e6efd9;color:#8ba871}.wizard-intro{margin-bottom:22px}.wizard-intro h3{font-family:var(--serif);font-weight:400;font-size:28px;margin-bottom:7px}.wizard-intro p{color:#99ab85;font-size:14px}.wizard-intro .step-count{font-size:11px;color:#a4b591;letter-spacing:1px;margin-bottom:8px;display:block}.photo-upload-row{display:flex;align-items:center;gap:17px;margin:4px 0 20px}.photo-upload-label{cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#89a271;border:1px solid #dce7d0;border-radius:7px;padding:9px 12px;background:#fbfcf7}.photo-upload-label input{position:absolute;width:1px;height:1px;opacity:0}.photo-upload-row small{font-size:11px;color:#a9b99a;display:block;margin-top:6px}.photo-upload-row .photo-name{font-size:12px;color:#8cA377}.date-calculations{display:flex;gap:14px;flex-wrap:wrap;padding:15px 17px;border-radius:8px;background:#f6f8f0;margin-bottom:17px}.date-calculations>span{display:flex;flex-direction:column;gap:4px;flex:1;font-size:12px;color:#9aad87}.date-calculations strong{font-family:var(--serif);font-size:23px;font-weight:400;color:#7e9865}.inherit-choice{padding:14px 16px;border:1px solid #e2eada;border-radius:8px;margin-bottom:19px;background:#f7faf2}.inherit-choice .check-label{margin:0}.inherit-choice>small{display:block;font-size:12px;color:#9eb18c;margin-top:7px;padding-left:27px}.inherit-address-fields.is-hidden{display:none}.relationship-select{min-height:115px!important}.success-state{text-align:center;padding:15px 5px 8px}.success-symbol{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#eef5e4;color:#96b378;margin:0 auto 20px}.success-state h3{font-family:var(--serif);font-size:30px;font-weight:400;margin-bottom:11px}.success-state p{font-size:14px;color:#9aaf86;max-width:410px;margin:0 auto 23px}.next-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:22px 0}.next-actions .btn{white-space:normal;font-size:13px;min-height:48px}.share-link-input{font-size:13px!important;color:#7b9566!important;background:#f7faf1!important;overflow-wrap:anywhere;min-height:90px!important}.event-detail-hero{padding:15px 0;text-align:center}.event-detail-hero .next-event-symbol{margin-top:5px}.event-detail-hero h3{font-family:var(--serif);font-size:30px;font-weight:400;margin-bottom:8px}.event-detail-hero p{font-size:14px;color:#91a67c}.event-detail-meta{display:flex;flex-direction:column;gap:14px;margin:19px 0}.event-detail-meta>span{display:flex;align-items:center;gap:10px;font-size:14px;color:#8fa67a}.linked-person-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.linked-person-list a{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 7px;border:1px solid #e1ebd4;border-radius:30px;font-size:13px}.review-compare{width:100%;margin:14px 0}.review-compare td{vertical-align:top;font-size:13px;overflow-wrap:anywhere}.review-compare th{font-size:12px}.review-compare .changed{color:#6b8e4e;background:#f2f8e9}.confirmation-message{font-size:13px;color:#8da17b;line-height:1.8;margin-bottom:20px}#toasts{position:fixed;right:24px;bottom:25px;z-index:150;display:flex;flex-direction:column;gap:10px;max-width:440px}.toast{display:flex;gap:11px;align-items:center;background:#fffef9;border:1px solid #d5e0ca;color:#66854e;padding:15px 19px;box-shadow:0 6px 30px #18331f1b;border-radius:10px;font-size:14px;animation:toast-in .2s ease-out}.toast-error{color:#a9655a;border-color:#e5c5bc}.toast>.icon{flex-shrink:0}@keyframes toast-in{from{transform:translateY(9px);opacity:0}to{transform:translateY(0);opacity:1}}
/* Public site */
.public-header{background:#fcfdf9;border-bottom:1px solid #e8ede1}.public-nav{display:flex;align-items:center;gap:35px;max-width:1300px;margin:0 auto;padding:25px 45px}.public-nav nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:13px;color:#849477}.public-nav nav a:hover{color:#365c3e}.public-actions{display:flex;align-items:center;gap:23px;margin-left:15px;font-size:13px}.public-nav .brand{font-size:28px}.public-nav .brand small{font-size:7px}.public-main{background:#fcfdf9}.public-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center;max-width:1300px;padding:84px 60px 90px;margin:0 auto;min-height:670px}.public-hero-copy .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:25px}.public-hero h1{font-size:65px;line-height:1.07;letter-spacing:-2.3px;font-weight:400}.public-hero h1 em{color:#7c966c}.public-hero-copy>p{font-size:15px;color:#95a288;line-height:1.8;max-width:400px;margin:25px 0 28px}.hero-actions{display:flex;align-items:center;gap:14px}.hero-reassurance{display:flex;gap:19px;margin-top:26px;font-size:10px;color:#a7b298;flex-wrap:wrap}.hero-reassurance span{display:flex;align-items:center;gap:5px}.public-hero-art{position:relative;padding:35px 20px 45px;min-height:450px}.public-art-orbit{position:absolute;width:430px;height:430px;border:1px solid #e0e8d6;border-radius:50%;top:0;left:5px;background:#f4f7ee;box-shadow:0 0 0 25px #f8faf2}.hero-family-card{position:relative;z-index:2;background:#ffffffee;border:1px solid #e0e8d7;border-radius:18px;box-shadow:0 20px 80px #5c744611;transform:rotate(-3deg);overflow:hidden}.hero-family-top{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf2e7;padding:21px}.hero-house-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:11px;background:#f0f5e7;color:#a4b68e}.hero-family-top small{display:block;color:#a8b499;font-size:7px;letter-spacing:1px}.hero-family-top strong{display:block;font-family:var(--serif);font-size:22px;font-weight:400;color:#6a8257;margin-top:3px}.tiny-lock{margin-left:auto;color:#b8c3a9}.hero-family-generations{padding:25px 22px 20px;background:#fdfefb}.generation-line{display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;color:#a9b69a;font-size:13px;margin-bottom:20px}.generation-line:before,.generation-line:after{content:'';height:1px;flex:1;background:#e9efdf;margin:0 14px}.mock-people{display:flex;justify-content:center;gap:35px}.mock-people>div{display:flex;flex-direction:column;align-items:center}.mock-people .avatar{border:4px solid #f9fbf3;box-shadow:0 3px 10px #5e784615}.mock-people strong{font-size:13px;font-weight:500;color:#81966d;margin-top:7px}.mock-people small{font-size:7px;color:#a8b59a;margin-top:2px}.mock-connector{height:34px;width:1px;margin:0 auto;background:#dce7ce}.next-generation{gap:35px}.lower{margin:24px 0 0;font-size:14px}.hero-family-bottom{background:#f2f6eb;border-top:1px solid #e8efdf;color:#9baf85;font-size:11px;padding:15px 18px;text-align:center;display:flex;align-items:center;justify-content:center;gap:7px}.floating-pill{position:absolute;z-index:3;right:0;top:7px;background:#f4f0e3;color:#a99c7c;border:1px solid #e8e1cf;box-shadow:0 6px 20px #76673b07;padding:10px 16px;border-radius:30px;font-family:var(--serif);font-style:italic;font-size:14px;transform:rotate(6deg);display:flex;gap:7px;align-items:center}.floating-occasion{position:absolute;bottom:16px;left:-18px;z-index:4;display:flex;align-items:center;gap:14px;background:#fffdf5;border:1px solid #eee3cb;border-radius:12px;box-shadow:0 9px 40px #8b77400d;padding:16px 20px;transform:rotate(2deg);max-width:360px}.occasion-icon{display:grid;place-items:center;width:49px;height:49px;background:#f8eed4;color:#bda36c;border-radius:50%;flex-shrink:0}.floating-occasion small{font-size:7px;letter-spacing:1px;color:#b2a17b;display:block;margin-bottom:3px}.floating-occasion strong{display:block;font-family:var(--serif);font-size:21px;font-weight:400;color:#8a7e59}.floating-occasion div>span{font-size:10px;color:#b8aa8e;display:block;margin-top:3px}.hero-art-caption{position:absolute;bottom:-20px;right:20px;font-size:10px;color:#b5bfa7}.public-proof{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;border-top:1px solid #e7eddf;border-bottom:1px solid #e7eddf;padding:25px 30px;background:#f4f7ed;color:#95a282;font-size:13px}.public-proof strong{font-weight:600;color:#738b5f}.public-proof>div{display:flex;gap:26px;margin-left:40px}.public-proof>div>span{display:flex;align-items:center;gap:7px;color:#97aa82;font-size:12px}.public-section,.how-section,.privacy-section,.pricing-section{max-width:1220px;margin:0 auto;padding:85px 60px}.section-intro{text-align:center;max-width:520px;margin:0 auto 50px}.section-intro .eyebrow{font-size:10px}.section-intro h2{font-family:var(--serif);font-size:43px;font-weight:400;line-height:1.2;letter-spacing:-1.1px}.section-intro p{color:#9cab8a;font-size:13px;margin-top:18px;line-height:1.9}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 45px}.benefit-grid article{text-align:center;padding:10px 10px}.benefit-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:15px;background:#f0f5e6;color:#a3b88a;margin:0 auto 18px}.benefit-grid h3{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:11px}.benefit-grid p{font-size:14px;color:#9cab89;line-height:1.9}.how-section{max-width:none;background:#f1f5e9;padding-left:max(60px,calc((100vw - 1100px) / 2));padding-right:max(60px,calc((100vw - 1100px) / 2));border-top:1px solid #e5edda;border-bottom:1px solid #e5edda}.how-section .section-intro em{color:#8ea379}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.how-grid article{position:relative;padding-left:8px}.how-grid article>span{font-family:var(--serif);font-size:40px;color:#bdcba9;display:block;margin-bottom:12px}.how-grid h3{font-size:16px;font-weight:500;margin-bottom:11px}.how-grid p{font-size:14px;color:#9aab86;line-height:1.9}.center-action{text-align:center;margin-top:45px}.center-action p{font-size:12px;color:#a7b696;margin-top:12px}.privacy-section{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:center;padding-top:95px;padding-bottom:95px}.privacy-art{position:relative;justify-self:center;width:250px;height:250px;border-radius:50%;background:#edf3e2;display:grid;place-items:center;color:#a7bb8d;border:1px solid #e0ebd3;box-shadow:0 0 0 30px #f8faf4}.privacy-art-leaf{position:absolute;bottom:5px;right:16px;color:#b7c7a2;transform:rotate(20deg)}.privacy-section h2{font-family:var(--serif);font-size:47px;font-weight:400;line-height:1.15}.privacy-section h2 em{color:#87a071}.privacy-section p{font-size:13px;color:#9dae8b;line-height:1.9;margin:23px 0}.pricing-section{display:grid;grid-template-columns:1.2fr 1fr;gap:95px;align-items:center;border-top:1px solid #e6eddc}.pricing-section h2{font-family:var(--serif);font-size:45px;line-height:1.2;font-weight:400}.pricing-section>div>p{font-size:13px;color:#9aab87;line-height:1.9;margin-top:22px;max-width:400px}.pricing-card{padding:35px;border-radius:17px;border:1px solid #dce8cd;background:#f7faF1;box-shadow:0 10px 40px #607a4607}.pricing-card h3{font-family:var(--serif);font-weight:400;font-size:30px;margin:19px 0}.price{font-family:var(--serif);font-size:45px;color:#688653;line-height:1.1}.price small{display:block;font-family:var(--sans);font-size:12px;margin-top:12px;color:#9cae87}.pricing-card p{font-size:14px;line-height:1.9;color:#97ab81;margin:25px 0}.pricing-card>small{display:block;text-align:center;color:#a8b799;font-size:11px;margin-top:12px}.final-cta{background:#2f5542;text-align:center;padding:65px 25px 70px;color:#c5d4b6}.final-cta>span{color:#a6be90;display:block;margin-bottom:20px}.final-cta h2{font-family:var(--serif);font-size:44px;font-weight:400;color:#f0f5e7;line-height:1.25;margin-bottom:28px}.public-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:45px max(45px,calc((100vw - 1180px) / 2));background:#f9fbf5;border-top:1px solid #e7eddd}.public-footer>.brand{font-size:23px}.public-footer>p{font-size:13px;line-height:1.9;color:#9bab8a}.public-footer>div{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#9aae86}.public-footer>span{font-size:11px;color:#b2c09f;line-height:1.9}.info-page{max-width:950px;margin:0 auto;padding:70px 60px 90px}.info-page h1{font-size:52px;line-height:1.1;margin-bottom:32px}.info-page h2{font-family:var(--serif);font-weight:400;font-size:26px;margin:33px 0 12px}.info-page p{font-size:14px;line-height:1.95;color:#8c9e7c}.info-page .lead{font-size:18px;color:#82986e}.info-cta{display:flex;align-items:center;gap:25px;margin-top:40px}.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}.learning-grid h2{font-size:24px}.learning-grid p{font-size:13px}.update-public{max-width:760px;margin:0 auto;padding:55px 25px}.update-public>h1{font-size:40px;margin-bottom:20px}.update-public>p{font-size:13px;color:#8da277;margin-bottom:28px;line-height:1.9}.update-public h2{margin:20px 0;font-family:var(--serif);font-size:24px;font-weight:400}
/* Account screens */
.auth-layout{display:grid;grid-template-columns:43% 57%;min-height:100vh;background:#fdfefb}.auth-aside{background:#eaf0e2;padding:40px 50px 30px;position:relative;overflow:hidden;display:flex;flex-direction:column;border-right:1px solid #e1ead6}.auth-aside:after{content:'';position:absolute;width:400px;height:400px;border:1px solid #d7e3ca;border-radius:50%;right:-170px;bottom:20px;pointer-events:none}.auth-aside>.brand{font-size:30px}.auth-aside .brand-mark{width:43px}.auth-aside-content{margin:auto 0;padding:60px 0;position:relative;z-index:1}.auth-aside-content .eyebrow{font-size:10px;color:#9bae87}.auth-aside h1{font-size:57px;line-height:1.12;font-weight:400;color:#567247;margin:24px 0;letter-spacing:-1.8px}.auth-aside h1 em{color:#8da47a}.auth-aside-content>p{font-size:13px;color:#a1b18f;line-height:1.9}.auth-art{position:relative;margin-top:45px;height:130px;color:#b1c29d;display:flex;justify-content:center;max-width:280px}.auth-art-leaf{position:absolute;bottom:-7px;right:12px;transform:rotate(25deg);color:#c1cfae}.auth-aside-footer{font-size:11px;color:#a1b48b;display:flex;gap:6px;align-items:center}.auth-main{padding:38px 50px 24px;display:flex;flex-direction:column}.auth-main>.back-link{align-self:flex-start;font-size:13px}.auth-card{width:100%;max-width:405px;margin:auto; padding:25px 0 40px}.auth-card>.eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:13px}.auth-card h2{font-family:var(--serif);font-size:37px;line-height:1.15;letter-spacing:-1px;font-weight:400;margin-bottom:15px}.auth-card>p{font-size:14px;color:#9aab87;line-height:1.85;margin-bottom:27px}.auth-card .field{margin-bottom:19px}.auth-card .field>span{font-size:13px}.auth-card form>.btn{margin-top:9px;min-height:45px}.auth-forgot{display:block;text-align:right;font-size:12px;color:#8ca276;margin-top:14px}.auth-switch{text-align:center;font-size:13px;color:#a1b18e;margin-top:27px}.auth-switch a{color:#789660;font-weight:600}.auth-demo{margin-top:27px;padding-top:25px;border-top:1px solid #e6eddd;text-align:center}.auth-demo>span{font-size:11px;color:#adbb9b;display:block;margin-bottom:14px}.auth-demo .btn{font-size:13px;background:#fafcf5}.auth-demo small{font-size:10px;color:#b2c0a0;display:block;margin-top:9px}.auth-bottom{text-align:center;font-size:11px;color:#bac5ab;margin-top:20px}
/* Responsive, motion, accessibility and printing */
@media(min-width:1600px){.main-content{padding:37px 50px 0}.topbar{padding:0 50px}.welcome-card{min-height:285px}.welcome-copy h2{font-size:39px}.welcome-copy p{font-size:13px}.welcome-copy>.text-link{font-size:12px}.next-card{min-height:285px}.card-eyebrow{font-size:10px}.stat-card{padding:22px}.stat-card div>span{font-size:12px}.stat-card strong{font-size:31px}.panel-header h2{font-size:18px}.event-description strong{font-size:13px}.event-description small{font-size:13px}.event-when{font-size:13px}.event-row{padding:17px 0}.date-tile{width:45px;height:49px}.health-summary p{font-size:13px}.health-summary>div:last-child>strong{font-size:14px}.health-card .panel-header h2{font-size:16px}.health-lines a{font-size:13px}.health-card>.btn{font-size:13px}.story-art{height:132px}.story-spotlight p{font-size:13px}.story-spotlight h2{font-size:24px}.mini-household>strong{font-size:14px}.mini-household>span:not(.mini-house-icon){font-size:12px}.activity-item{font-size:13px}.activity-item small{font-size:12px}.topbar input{font-size:13px!important}.nav-item{font-size:14px}}
@media(max-width:1250px){.sidebar{width:217px;padding-left:14px;padding-right:14px}.nav-item.active:before{left:-14px}.app-workspace{margin-left:217px}.topbar{padding:0 25px}.main-content{padding-left:25px;padding-right:25px}.welcome-card{padding:25px}.welcome-copy h2{font-size:30px}.welcome-copy .pill-soft{font-size:6px}.family-art .avatar-lg{width:45px;height:45px;font-size:16px}.art-person-4{left:-8%}.welcome-copy>.text-link{font-size:10px}.next-card{padding:22px 16px}.next-card h2{font-size:20px}.card-eyebrow{font-size:6px}.stats-grid{gap:11px}.stat-card{padding:17px 12px;gap:10px}.stat-icon{width:34px;height:34px}.stat-icon .icon{width:20px}.stat-chevron{display:none}.stat-card div>span{font-size:7px}.dashboard-columns{grid-template-columns:1.55fr 1fr;gap:18px}.panel-header{padding-left:18px;padding-right:18px}.events-list{padding-left:18px;padding-right:18px}.event-row{gap:9px}.event-when{font-size:10px}.event-description strong{font-size:12px}.household-preview{padding-left:18px;padding-right:18px;gap:9px}.mini-household{padding:11px 9px}.mini-household .avatar-stack small{flex-basis:100%;margin:6px 0 0}.health-summary{padding-left:18px;padding-right:18px;gap:11px}.health-ring{width:62px;height:62px}.health-lines{padding-left:18px;padding-right:18px}.health-card>.btn{width:calc(100% - 36px);margin:0 18px}.health-card .panel-header h2{font-size:14px}.health-summary>div:last-child>strong{font-size:11px}.health-summary p{font-size:10px}.people-grid{grid-template-columns:repeat(3,1fr)}.households-grid{grid-template-columns:repeat(2,1fr)}.memory-grid{grid-template-columns:repeat(2,1fr)}.reports-grid{grid-template-columns:repeat(3,1fr);gap:15px}.report-card{padding:20px}.report-card h2{font-size:21px}.report-card-footer>span{font-size:6px}.public-nav{gap:20px;padding:23px 30px}.public-nav nav{gap:16px;font-size:12px}.public-actions{gap:15px;margin-left:0}.public-hero{padding-left:50px;padding-right:50px;gap:30px}.public-hero h1{font-size:57px}.public-art-orbit{width:370px;height:370px}.floating-occasion{left:-25px}.hero-reassurance{gap:12px;font-size:7px}.activity-item time{display:none}.activity-item small{max-width:145px}.app-footer{font-size:7px}}
@media(max-width:1050px){.sidebar{width:200px;padding-left:12px;padding-right:12px}.sidebar>.brand{font-size:23px;margin-left:3px}.family-switch{padding:10px 8px;gap:7px}.family-switch strong{font-size:12px}.family-switch small{font-size:10px}.nav-item{font-size:12px;padding-left:9px;gap:9px}.nav-item.active:before{left:-12px}.nav-new{display:none}.invite-card strong{font-size:14px}.app-workspace{margin-left:200px}.page-header h1{font-size:29px}.page-header{align-items:flex-start}.page-actions{flex-wrap:wrap;justify-content:flex-end}.page-actions .btn{font-size:12px;min-height:37px;padding:9px 11px}.welcome-grid{gap:16px;grid-template-columns:1.7fr 1fr}.family-art{width:39%}.welcome-card{padding:22px;min-height:260px}.welcome-copy h2{font-size:29px}.welcome-copy p{font-size:11px}.family-art .art-person-4{display:none}.art-person-0{left:30%;top:42px}.art-person-1{left:0;top:108px}.art-person-2{left:55%;top:138px}.art-person-3{left:5%;top:198px}.tag-top{display:none}.tag-bottom{display:none}.next-card{min-height:260px}.next-card .card-eyebrow .icon{display:none}.next-card h2{font-size:20px}.next-card p{font-size:12px}.stat-card{gap:9px;padding:16px 11px}.stat-icon{width:29px;height:32px}.stat-card div>span{font-size:7px;line-height:1.5}.stat-card strong{font-size:25px}.dashboard-columns{grid-template-columns:1fr}.dashboard-columns>.column-stack:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:18px}.story-art{height:90px}.health-summary p{font-size:12px}.health-summary>div:last-child>strong{font-size:13px}.health-card .panel-header h2{font-size:14px}.health-lines a{font-size:12px}.health-card>.btn{font-size:12px}.event-description strong{font-size:14px}.event-description small{font-size:12px}.event-when{font-size:12px}.mini-household>strong{font-size:14px}.mini-household>span:not(.mini-house-icon){font-size:12px}.mini-household .avatar-stack small{flex-basis:auto;margin:0 0 0 4px}.activity-item{font-size:10px}.private-label{display:none}.page-header p{font-size:12px}.reports-grid{grid-template-columns:repeat(2,1fr)}.profile-hero{gap:19px;padding:25px}.profile-hero h1{font-size:29px}.profile-hero .avatar-xl{width:80px;height:80px;font-size:28px}.profile-columns{grid-template-columns:1fr 1fr}.contact-list>div{display:block}.contact-list dd{margin-top:8px;margin-left:25px}.directory-row{grid-template-columns:1fr 1fr 1fr 20px;gap:14px;padding:17px 20px}.directory-person strong{font-size:13px}.directory-person .avatar{width:30px;height:30px;font-size:12px}.calendar-toolbar{flex-wrap:wrap}.calendar-cell{min-height:105px;padding:6px 4px}.calendar-event{font-size:7px;padding:3px}.calendar-event .icon{display:none}.import-layout{grid-template-columns:1.4fr 1fr;gap:20px}.import-help{padding:27px 0}.import-help h2{font-size:27px}.settings-grid{gap:20px}.role-guide{grid-template-columns:repeat(2,1fr)}.privacy-grid{gap:20px}.privacy-grid h3{font-size:14px}.public-nav nav{display:none}.public-actions{margin-left:auto}.public-hero h1{font-size:49px}.public-hero{padding:70px 35px 75px;gap:30px;min-height:600px}.public-hero-copy>p{font-size:13px;max-width:330px}.hero-actions{gap:7px}.hero-actions .btn{font-size:13px;padding:13px 16px}.hero-actions .btn-text{padding-right:0}.public-hero-art{padding-left:5px;padding-right:5px}.public-art-orbit{width:330px;height:330px;top:25px}.hero-family-top{padding:18px;gap:9px}.hero-family-top strong{font-size:20px}.hero-family-top small{font-size:6px}.hero-family-generations{padding-left:16px;padding-right:16px}.floating-pill{font-size:14px;right:-10px}.floating-occasion{left:-20px;padding:14px 17px;max-width:320px}.floating-occasion div>span{font-size:7px}.public-proof>div{margin-left:20px;gap:18px}.public-proof{font-size:12px}.public-section,.privacy-section,.pricing-section{padding:70px 45px}.how-section{padding:70px 45px}.privacy-section{gap:60px}.privacy-art{width:200px;height:200px}.pricing-section{gap:65px}.public-footer{padding:35px;gap:25px}.public-footer>p{display:none}.auth-aside{padding:35px}.auth-aside h1{font-size:48px}.auth-main{padding:35px}.auth-card h2{font-size:33px}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);width:250px;transition:transform .2s;z-index:60;padding:25px 18px 0}.sidebar>.brand{font-size:27px;margin-left:5px}.nav-item{font-size:13px;min-height:44px}.nav-label{font-size:11px}.family-switch strong{font-size:14px}.family-switch small{font-size:12px}.sidebar-user strong{font-size:13px}.sidebar-user small{font-size:12px}.invite-card strong{font-size:18px}.invite-card p{font-size:14px}.invite-card .btn{font-size:14px}.menu-open .sidebar{transform:translateX(0)}.menu-open .sidebar-overlay{display:block;position:fixed;inset:0;background:#213c2b55;z-index:55;backdrop-filter:blur(3px)}.app-workspace{margin-left:0}.topbar{height:65px;padding:0 22px}.mobile-menu{display:inline-grid}.global-search{width:100%;max-width:450px}.global-search input{font-size:13px!important}.global-search kbd{display:none}.topbar-right{gap:7px}.topbar-right .avatar{width:30px;height:30px;font-size:12px}.main-content{padding:25px 24px 70px}.page-header h1{font-size:32px}.page-header p{font-size:14px}.page-header .eyebrow{font-size:10px}.page-actions .btn{font-size:13px}.mobile-bottom{position:fixed;bottom:0;left:0;right:0;height:65px;background:#ffffffee;border-top:1px solid #e2eadd;z-index:40;display:flex;justify-content:space-around;align-items:center;backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom a,.mobile-bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;color:#9cac8e;min-width:50px;min-height:50px}.mobile-bottom .active{color:#5b7c47}.mobile-bottom .icon{width:20px;height:20px}.welcome-copy h2{font-size:33px}.welcome-copy p{font-size:12px}.welcome-copy>.text-link{font-size:11px}.stats-grid{gap:13px}.stat-card div>span{font-size:10px}.stat-icon{width:34px;height:34px}.stat-card strong{font-size:28px}.person-card h3{font-size:21px}.person-card-details{font-size:13px}.person-card-bottom{font-size:12px}.person-household{font-size:12px}.profile-hero h1{font-size:32px}.app-footer{font-size:10px}.calendar-cell{min-height:115px}.calendar-event{font-size:10px}.quality-row>div strong{font-size:13px}.quality-row>div small{font-size:13px}.settings-grid .padded{padding:22px}.privacy-grid{grid-template-columns:1fr;gap:25px}.privacy-grid h3{font-size:14px}.privacy-grid p{font-size:14px}.public-hero{grid-template-columns:1fr;text-align:center;padding:60px 30px 55px;gap:38px}.public-hero-copy .eyebrow{font-size:10px;margin-bottom:19px}.public-hero h1{font-size:60px;letter-spacing:-1.8px}.public-hero-copy>p{max-width:420px;margin:22px auto;font-size:14px}.hero-actions{justify-content:center;gap:15px}.hero-reassurance{justify-content:center;font-size:11px;gap:18px}.public-hero-art{width:420px;max-width:100%;margin:0 auto;min-height:455px;padding:32px 20px 45px}.public-art-orbit{width:390px;height:390px;top:5px}.floating-occasion{text-align:left;left:-10px;bottom:16px;max-width:360px}.floating-pill{right:0;top:6px}.hero-family-top{text-align:left}.hero-family-top strong{font-size:23px}.hero-family-top small{font-size:7px}.hero-art-caption{right:20px;bottom:0;font-size:10px}.public-proof>div{width:100%;justify-content:center;margin:12px 0 0;gap:28px}.public-proof{font-size:14px;padding:22px}.public-proof>div>span{font-size:12px}.benefit-grid{grid-template-columns:repeat(2,1fr);gap:30px}.section-intro h2{font-size:39px}.section-intro p{font-size:13px}.how-grid{gap:27px}.how-grid h3{font-size:15px}.how-grid p{font-size:13px}.privacy-section{gap:45px}.privacy-section h2{font-size:40px}.privacy-section p{font-size:14px}.privacy-art{width:160px;height:160px}.privacy-art>.icon{width:70px}.privacy-art-leaf{right:5px;bottom:-5px}.privacy-art-leaf .icon{width:36px}.pricing-section{gap:40px}.pricing-section h2{font-size:38px}.pricing-section>div>p{font-size:14px}.pricing-card{padding:27px}.pricing-card h3{font-size:27px}.public-footer>span{font-size:10px;max-width:180px}.public-footer .brand{font-size:21px}.public-footer .brand small{font-size:6px}.public-footer .brand-mark{width:28px}.auth-layout{grid-template-columns:36% 64%}.auth-aside{padding:30px 24px}.auth-aside>.brand{font-size:23px}.auth-aside .brand-mark{width:26px}.auth-aside .brand small{font-size:5px}.auth-aside h1{font-size:39px;letter-spacing:-1px}.auth-aside-content>.eyebrow{font-size:6px}.auth-aside-content>p{font-size:13px}.auth-main{padding:30px}.auth-card h2{font-size:33px}.auth-aside-footer{font-size:7px}.auth-art{margin-top:30px}.auth-art .icon{width:90px}.auth-art-leaf .icon{width:38px}.info-page{padding:55px 35px}.info-page h1{font-size:46px}.learning-grid{gap:10px 25px}#toasts{bottom:80px;left:20px;right:20px;max-width:none}}
@media(max-width:600px){body{font-size:14px}.main-content{padding:20px 16px 70px}.topbar{padding:0 12px;gap:8px}.topbar-right .notifications{display:none}.global-search{gap:7px}.global-search input{font-size:14px!important}.page-header{gap:12px;margin-bottom:23px;align-items:flex-start}.page-header h1{font-size:29px;line-height:1.2;max-width:310px}.page-header p{font-size:13px;margin-top:9px;line-height:1.8}.page-header .eyebrow{font-size:7px;letter-spacing:1.2px;margin-bottom:8px}.page-actions{flex-shrink:0}.page-actions .btn{font-size:0;padding:10px;gap:0;width:39px;height:39px}.page-actions .btn .icon{width:18px;height:18px}.demo-banner{font-size:10px;padding:10px;align-items:flex-start;line-height:1.7;margin-bottom:20px}.demo-banner>.icon{width:13px;margin-top:2px}.demo-banner a{display:none}.welcome-grid{grid-template-columns:1fr;gap:15px;margin-bottom:18px}.welcome-card{padding:25px;min-height:275px}.welcome-copy h2{font-size:37px;line-height:1.1;margin-top:15px}.welcome-copy p{font-size:13px}.welcome-copy>.text-link{font-size:11px}.welcome-copy .pill-soft{font-size:7px}.family-art{width:43%}.family-art .avatar-lg{height:49px;width:49px;font-size:18px}.art-person-0{top:48px;left:40%}.art-person-1{left:0;top:119px}.art-person-2{left:57%;top:159px}.art-person-3{left:8%;top:210px}.orbit-one{top:25px;right:-78px}.orbit-two{right:-30px;top:57px}.leaf-one{right:-30px}.next-card{min-height:unset;padding:18px 19px;text-align:left;display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:center}.next-card .card-eyebrow{grid-column:1/-1;justify-content:flex-start;font-size:6px;margin-bottom:11px}.next-card .card-eyebrow .icon{display:inline-block;width:12px;height:12px}.next-event-symbol{width:48px;height:48px;margin:0;grid-row:2/5}.next-event-symbol .icon{width:27px}.next-event-date{font-size:7px;margin-bottom:3px;grid-column:2}.next-card h2{font-size:22px;margin-bottom:3px;grid-column:2}.next-card p{font-size:12px;margin:0;grid-column:2}.next-card>.text-link{grid-column:2;font-size:12px;margin-top:9px;justify-self:start}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:21px}.stat-card{padding:17px 14px;gap:12px}.stat-icon{width:37px;height:37px}.stat-card strong{font-size:28px}.stat-card div>span{font-size:10px;line-height:1.5;margin-top:5px}.dashboard-columns{gap:19px}.column-stack{gap:19px}.dashboard-columns>.column-stack:nth-child(2){display:flex;flex-direction:column}.panel-header{padding:20px 18px 13px}.panel-header h2{font-size:17px}.panel-header p{font-size:12px;max-width:210px}.panel-header>.text-link{font-size:10px}.events-list{padding:0 17px 7px}.event-row{padding:16px 0;gap:11px}.event-description strong{font-size:14px}.event-description small{font-size:12px;line-height:1.6}.event-when{font-size:10px;max-width:75px}.date-tile{width:41px;height:45px}.kind-label{font-size:7px}.event-row>.icon:last-child{display:none}.household-preview{grid-template-columns:1fr;padding:0 18px 19px;gap:10px}.mini-household{display:grid;grid-template-columns:33px 1fr;gap:0 10px;padding:13px 12px;align-items:center}.mini-house-icon{grid-row:1/4;margin:0}.mini-household>strong{font-size:14px}.mini-household>span:not(.mini-house-icon){font-size:12px;margin:2px 0 7px}.mini-household .avatar-stack{grid-column:2}.mini-household .avatar-stack small{font-size:10px}.mini-household .avatar-xs{width:24px;height:24px;font-size:10px}.health-card .panel-header h2{font-size:16px}.health-card .panel-header>.icon{width:19px}.health-summary{padding:0 21px;gap:17px}.health-ring{width:74px;height:74px}.health-ring strong{font-size:29px}.health-summary>div:last-child>strong{font-size:14px}.health-summary p{font-size:13px}.health-lines{padding:17px 22px}.health-lines a{font-size:13px;padding:6px 0}.health-card>.btn{font-size:13px;min-height:40px;width:calc(100% - 42px);margin:0 21px}.story-art{height:135px}.story-spotlight-body{padding:21px}.story-spotlight .eyebrow{font-size:7px}.story-spotlight h2{font-size:25px}.story-spotlight p{font-size:13px}.story-spotlight .text-link{font-size:13px}.activity-list{grid-template-columns:1fr;gap:17px;padding:15px 19px 20px}.activity-item{font-size:13px}.activity-item small{font-size:12px;max-width:240px}.activity-item time{display:block;font-size:11px}.activity-dot{width:33px;height:33px}.activity-panel .panel-header h2{font-size:16px}.app-footer{margin-top:24px;padding:20px 0;justify-content:center}.app-footer>span:last-child{display:none}.toolbar{flex-wrap:wrap;gap:10px}.toolbar .search-field{flex-basis:100%;max-width:none}.toolbar>select{font-size:13px;min-width:160px;flex:1}.toolbar .segmented{margin-left:auto}.toolbar .inline-label{flex:1;justify-content:space-between}.inline-label select{max-width:230px}.people-grid{grid-template-columns:1fr 1fr;gap:12px}.person-card{padding:16px 13px 0}.person-card-top{margin-bottom:12px;display:block}.person-card-top .avatar-lg{width:52px;height:52px;font-size:19px}.person-card-top>.pill{display:table;margin-top:10px;font-size:7px;max-width:100%;padding:3px 6px}.person-card h3{font-size:19px;line-height:1.2;overflow-wrap:anywhere}.aka{font-size:11px}.person-household{font-size:10px;margin-bottom:15px;line-height:1.8;align-items:flex-start;min-height:28px}.person-household>.icon{width:12px;margin-top:2px}.person-card-details{font-size:11px;gap:8px;min-height:65px;padding-bottom:15px;line-height:1.6}.person-card-details .icon{width:12px;height:12px}.person-card-bottom{margin:0 -13px;padding:11px 13px;font-size:10px;gap:5px}.person-card-bottom>span:first-child{gap:5px}.person-card-bottom .icon{width:11px;height:11px}.result-summary{font-size:13px;margin-top:0}.profile-hero{padding:23px 20px;flex-wrap:wrap;gap:16px}.profile-hero .avatar-xl{width:73px;height:73px;font-size:27px}.profile-hero>div:not(.profile-actions){flex:1;min-width:160px}.profile-hero h1{font-size:29px}.profile-hero p{font-size:12px}.profile-actions{width:100%;flex-direction:row;flex-wrap:wrap;margin-top:6px}.profile-actions .btn{font-size:12px;flex:1}.profile-columns{grid-template-columns:1fr;gap:19px}.contact-list>div{display:grid;grid-template-columns:110px 1fr;gap:10px}.contact-list dd{margin:0;font-size:14px}.contact-list dt{font-size:13px}.padded{padding:21px}.connection-row strong{font-size:13px}.connection-row small{font-size:13px}.memory-mini strong{font-size:13px}.danger-zone{flex-direction:column;align-items:flex-start;gap:12px}.households-grid{grid-template-columns:1fr;gap:18px}.household-card{padding:23px}.household-card h2{font-size:26px}.household-address{font-size:14px;min-height:unset}.household-members strong{font-size:13px}.household-members small{font-size:12px}.directory-group-header{padding:17px 18px}.directory-group-header h2{font-size:23px}.directory-row{grid-template-columns:1fr 27px;padding:20px 18px;gap:9px 15px}.directory-person{grid-column:1;gap:10px}.directory-person strong{font-size:13px}.directory-person .avatar{width:35px;height:35px;font-size:14px}.directory-row>div:not(.directory-address){grid-column:1;padding-left:45px}.directory-row>div:not(.directory-address)>span{font-size:13px}.directory-address{grid-column:1;font-size:13px;padding-left:45px}.directory-row>a.icon-btn{grid-column:2;grid-row:1;align-self:start}.calendar-toolbar{gap:15px;display:block}.calendar-nav{gap:6px;justify-content:space-between}.calendar-nav h2{font-size:25px;min-width:170px;flex:1}.calendar-nav .btn{font-size:12px;margin-left:6px}.calendar-filters{margin-top:17px;justify-content:space-between;gap:10px}.calendar-filters select{font-size:13px;flex:1;max-width:210px}.calendar-filters .segmented{font-size:12px}.calendar-weekdays span{font-size:11px;padding:11px 0}.calendar-cell{min-height:67px;padding:6px 3px}.day-number{width:28px;height:28px;font-size:13px;margin:0 auto 6px}.day-events{display:none}.mobile-event-dots{display:flex;justify-content:center;gap:3px}.mobile-event-dots i{width:4px;height:4px}.calendar-legend{gap:13px;font-size:10px}.calendar-legend small{font-size:10px;line-height:1.7}.memory-grid{grid-template-columns:1fr;gap:21px}.memory-card-art{height:195px}.memory-card-body{padding:23px}.memory-card-body h2{font-size:28px}.memory-card-body>p{font-size:14px;min-height:unset}.memory-card-footer>span{font-size:12px}.tabs{gap:0}.tabs button{font-size:13px;padding:11px 14px}.tree-canvas{min-width:750px}.tree-legend{font-size:11px;gap:13px}.reports-grid{grid-template-columns:1fr 1fr;gap:12px}.report-card{padding:18px 14px}.report-card h2{font-size:21px;line-height:1.2;min-height:50px}.report-card p{font-size:12px;min-height:54px}.report-card-footer{font-size:11px;gap:7px}.report-card-footer>span{font-size:0;gap:0}.report-card-footer>.icon{width:13px}.report-icon{width:40px;height:40px;margin-bottom:15px}.notice{font-size:13px;padding:13px}.quality-summary{padding:23px 20px;gap:19px;align-items:flex-start}.health-ring.large{width:73px;height:73px}.health-ring.large strong{font-size:27px}.quality-summary h2{font-size:23px;line-height:1.2}.quality-summary p{font-size:12px;line-height:1.85}.quality-issues{padding:0 17px}.quality-row{gap:11px}.quality-row>div strong{font-size:14px}.quality-row>div small{font-size:12px}.quality-row>.btn{font-size:11px;min-height:32px;padding:7px 9px}.issue-icon{width:33px;height:33px}.import-layout{grid-template-columns:1fr;gap:10px}.import-help{padding:20px 10px}.import-help h2{font-size:31px}.import-help p{max-width:100%;font-size:14px}.import-help strong{font-size:14px}.upload-zone strong{font-size:24px}.upload-zone>span:not(.btn){font-size:11px}.import-preview .panel-header{align-items:flex-start;flex-wrap:wrap}.import-preview .panel-header .btn{width:100%}.import-preview td{font-size:12px}.settings-grid{grid-template-columns:1fr;gap:20px}.role-guide{grid-template-columns:1fr 1fr;padding:20px;gap:20px}.role-guide span{font-size:12px}.members-table td{font-size:12px;padding:15px 12px}.members-table th{font-size:11px;padding:13px 12px}.account-summary strong{font-size:16px}.account-summary span{font-size:14px}.account-summary small{font-size:13px}.privacy-grid p{font-size:14px}.panel-header>.btn{font-size:12px;padding:10px 12px}.modal-backdrop{padding:12px;align-items:center}.modal{max-height:calc(100dvh - 24px);border-radius:13px}.modal-header{padding:17px 18px}.modal-header h2{font-size:24px}.modal-body{padding:20px 18px}.modal-footer{padding:15px 18px;gap:8px}.modal-footer .btn{font-size:13px;padding:10px 13px}.form-grid{gap:0 13px}.field>span{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.field>small{font-size:12px}.wizard-steps{gap:3px;padding-bottom:18px;margin-bottom:18px}.wizard-step{font-size:0;flex:1;justify-content:center}.wizard-step span{width:30px;height:30px;font-size:13px}.wizard-intro h3{font-size:27px}.wizard-intro p{font-size:13px}.date-calculations{gap:10px;padding:12px}.date-calculations>span{font-size:11px}.date-calculations strong{font-size:24px}.success-state h3{font-size:27px}.success-state p{font-size:14px}.next-actions{gap:9px}.next-actions .btn{font-size:12px}.share-link-input{font-size:14px!important}.event-detail-hero h3{font-size:28px}.event-detail-hero .next-event-symbol{margin:0 auto 15px;width:60px;height:60px}.memory-full-body{font-size:19px}.report-preview-table{max-height:380px}.review-compare td{font-size:12px;padding:12px 9px}.review-compare th{font-size:11px;padding:12px 9px}.public-nav{padding:18px 19px;gap:12px}.public-nav .brand{font-size:24px;gap:5px}.public-nav .brand small{font-size:5px;letter-spacing:1.2px}.public-nav .brand-mark{width:31px;height:34px}.public-actions{gap:14px}.public-actions .btn{font-size:11px;padding:9px 10px;min-height:35px;gap:5px}.public-actions>.login-link{font-size:12px}.public-actions .btn .icon{width:12px}.public-hero{padding:48px 21px 45px;gap:32px}.public-hero h1{font-size:49px;letter-spacing:-1.6px;line-height:1.1}.public-hero-copy .eyebrow{font-size:7px;letter-spacing:1.5px}.public-hero-copy>p{font-size:13px;max-width:320px;line-height:1.9;margin:22px auto}.hero-actions{gap:9px}.hero-actions .btn-primary{font-size:13px;padding:14px 18px}.hero-actions .btn-text{font-size:12px;padding:14px 8px}.hero-actions .btn-text .icon{width:14px}.hero-reassurance{font-size:7px;gap:12px;margin-top:20px}.hero-reassurance .icon{width:12px}.public-hero-art{width:350px;min-height:424px;padding:28px 12px 43px}.public-art-orbit{width:320px;height:320px;top:20px;left:4px;box-shadow:0 0 0 15px #f7faf1}.hero-family-top{padding:18px 15px;gap:9px}.hero-house-mark{width:40px;height:40px}.hero-house-mark .icon{width:24px}.hero-family-top strong{font-size:21px}.hero-family-top small{font-size:6px}.hero-family-generations{padding:21px 14px 19px}.generation-line{font-size:13px;margin-bottom:16px}.mock-people{gap:30px}.mock-people .avatar-lg{height:56px;width:56px;font-size:20px}.mock-people strong{font-size:12px}.mock-connector{height:29px}.next-generation .avatar-md{width:40px;height:40px;font-size:14px}.lower{margin-top:19px;margin-bottom:0;font-size:12px}.hero-family-bottom{font-size:10px;padding:13px}.floating-pill{font-size:13px;padding:8px 12px;top:3px;right:0}.floating-occasion{left:0;right:8px;bottom:22px;padding:13px 15px;gap:11px;max-width:none}.occasion-icon{width:42px;height:42px}.floating-occasion small{font-size:6px}.floating-occasion strong{font-size:20px}.floating-occasion div>span{font-size:6px}.hero-art-caption{font-size:7px;right:15px;bottom:1px}.public-proof{font-size:12px;gap:6px;padding:20px 18px}.public-proof>div{gap:20px;margin-top:10px}.public-proof>div>span{font-size:10px;gap:5px}.public-proof>div .icon{width:14px}.public-section,.how-section,.privacy-section,.pricing-section{padding:55px 23px}.section-intro{margin-bottom:33px}.section-intro .eyebrow{font-size:7px;letter-spacing:1.2px;margin-bottom:14px}.section-intro h2{font-size:35px;letter-spacing:-.7px}.section-intro p{font-size:14px;margin-top:16px}.benefit-grid{gap:26px 17px}.benefit-grid article{padding:0}.benefit-icon{width:47px;height:47px;border-radius:12px;margin-bottom:14px}.benefit-icon .icon{width:23px}.benefit-grid h3{font-size:20px;line-height:1.25;margin-bottom:9px}.benefit-grid p{font-size:12px;line-height:1.9}.how-grid{grid-template-columns:1fr;gap:25px}.how-grid article{display:grid;grid-template-columns:43px 1fr;gap:3px 15px;padding:0}.how-grid article>span{grid-row:1/3;font-size:34px;margin:0;line-height:1.3}.how-grid h3{font-size:16px;line-height:1.5;margin:0}.how-grid p{font-size:14px;margin:0}.center-action{margin-top:33px}.center-action p{font-size:11px}.privacy-section{grid-template-columns:1fr;gap:47px;text-align:center;padding-top:65px}.privacy-art{width:145px;height:145px;box-shadow:0 0 0 20px #f8faf4}.privacy-section .eyebrow{font-size:10px}.privacy-section h2{font-size:39px}.privacy-section p{font-size:14px;max-width:340px;margin:20px auto}.pricing-section{grid-template-columns:1fr;gap:28px}.pricing-section>div{text-align:center}.pricing-section .eyebrow{font-size:10px}.pricing-section h2{font-size:38px}.pricing-section>div>p{font-size:14px;margin:19px auto 0;max-width:340px}.pricing-card{padding:28px;max-width:360px;width:100%;margin:0 auto}.pricing-card h3{font-size:30px}.pricing-card p{font-size:14px}.final-cta{padding:50px 23px 55px}.final-cta h2{font-size:34px;line-height:1.3}.final-cta .btn{font-size:13px;padding:14px 17px}.public-footer{flex-wrap:wrap;padding:32px 23px;gap:27px}.public-footer>.brand{font-size:24px}.public-footer>div{margin-left:auto;font-size:11px;gap:9px}.public-footer>span{max-width:none;width:100%;font-size:10px;text-align:center;border-top:1px solid #e8eedf;padding-top:20px}.auth-layout{display:block}.auth-aside{padding:20px 23px;border:0}.auth-aside>.brand{font-size:25px}.auth-aside .brand-mark{width:32px}.auth-aside .brand small{font-size:6px}.auth-aside-content,.auth-aside-footer,.auth-aside:after{display:none}.auth-main{padding:22px 25px 25px;min-height:calc(100vh - 80px)}.auth-main>.back-link{margin-bottom:10px;font-size:13px}.auth-card{padding:25px 0 35px;max-width:390px}.auth-card h2{font-size:35px;line-height:1.15}.auth-card>p{font-size:14px}.auth-card .eyebrow{font-size:7px;margin-bottom:13px}.auth-card .field>span{font-size:13px}.auth-card input{font-size:16px}.auth-switch{font-size:13px}.auth-demo{margin-top:24px;padding-top:21px}.auth-demo>span{font-size:12px}.auth-demo small{font-size:11px}.auth-bottom{font-size:10px}.info-page{padding:43px 23px 60px}.info-page h1{font-size:39px;line-height:1.15;letter-spacing:-1px;margin-bottom:26px}.info-page .eyebrow{font-size:10px}.info-page h2{font-size:25px;margin-top:28px}.info-page p{font-size:13px;line-height:1.9}.info-page .lead{font-size:16px}.learning-grid{grid-template-columns:1fr;gap:0}.info-cta{gap:20px}.info-cta .btn{font-size:13px}.info-cta .text-link{font-size:12px}.update-public{padding:40px 19px}.update-public>h1{font-size:36px}.update-public>p{font-size:14px}.update-public .padded{padding:20px 17px}.update-public h2{font-size:23px}.empty-state{padding:42px 19px}.empty-state h3{font-size:25px}.empty-state p{font-size:14px}}
/* Readability: retain the quiet palette without making essential UI text low-contrast. */
:root{--muted:#6e7c65}.page-header p,.panel-header p,.welcome-copy p,.event-description small,.person-household,.person-card-details,.calendar-legend,.account-summary span,.quality-summary p,.quality-row>div small,.privacy-grid p,.settings-grid p,.field>small,.wizard-intro p,.auth-card>p,.auth-switch,.public-hero-copy>p,.benefit-grid p,.how-grid p,.section-intro p,.pricing-section>div>p,.pricing-card p,.privacy-section p,.info-page p{color:#708064}.nav-item{color:#728166}.nav-label,.eyebrow{color:#7a8b6c}.health-summary p,.health-lines a,.story-spotlight p,.mini-household>span:not(.mini-house-icon),.stat-card div>span,.directory-address,.directory-row>div:not(.directory-address)>span,.memory-card-body>p,.report-card p,.import-help p,.role-guide span,.form-grid small{color:#7a886c}.event-when,.kind-label,.next-card p,.next-event-date{color:#928160}.contact-list dt,.contact-list dd small,.important-dates small,.connection-row small,.memory-mini small{color:#7a8d67}.text-link{color:#557345}.btn-secondary{color:#58724b}.pill{color:#6d825d}.modal-header .icon-btn,.icon-btn{color:#7d906a}.field>span{color:#5d754d}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{background:#fff;color:#000;font-size:10pt}.sidebar,.topbar,.demo-banner,.mobile-bottom,.page-actions,.app-footer,.toolbar,.calendar-toolbar .calendar-filters,.calendar-toolbar button,.modal-header>.icon-btn,.modal-footer,.skip-link,#toasts{display:none!important}.app-workspace{margin:0}.main-content{padding:0;max-width:none;min-height:0}.page-header{margin-bottom:20px}.page-header h1{font-size:28pt}.page-header p{font-size:10pt}.panel{box-shadow:none;border-color:#bbb;break-inside:avoid}.directory-row{grid-template-columns:1fr 1fr 1.3fr 0;gap:15px;padding:15px}.directory-row>.icon-btn{display:none}.directory-group{break-inside:auto}.directory-group-header{break-after:avoid}.directory-row{break-inside:avoid}.calendar-panel{break-inside:avoid}.calendar-cell{min-height:95px;padding:5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.day-events{display:flex!important}.calendar-event{font-size:7pt!important;white-space:normal!important;padding:3px;color:#333!important;background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.calendar-event span{white-space:normal;overflow:visible}.mobile-event-dots{display:none}.day-number{font-size:9pt}.calendar-legend{font-size:8pt}.calendar-legend small{font-size:7pt}.modal-backdrop{position:static;padding:0;background:none;display:block;backdrop-filter:none}.modal{border:0;box-shadow:none;width:100%;max-height:none}.modal-body{overflow:visible;padding:0}.modal-open #app{display:none}.report-preview-table{overflow:visible;max-height:none}table{font-size:8pt}td,th{padding:9px;font-size:8pt}.people-grid,.reports-grid{grid-template-columns:repeat(3,1fr)}.memory-card{break-inside:avoid}.public-header,.public-footer{display:none}.btn,.icon-btn{display:none!important}a[href^="mailto:"]{text-decoration:none}@page{margin:.45in}}

/* Respect reduced motion and preserve readable keyboard focus. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Phone dashboard prioritizes the next occasion and live information over decoration. */
@media(max-width:800px){.welcome-card{display:none}.welcome-grid{grid-template-columns:1fr}.next-card{min-height:0}.sidebar{overflow-x:hidden}.stat-card div>span{font-size:12px;line-height:1.45}}

/* The photo archive uses the same family palette, with room for photographs. */
.archive-albums{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:17px;margin-bottom:18px}.album-chip{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid #dbe4d4;border-radius:24px;text-decoration:none;color:#426135;background:#fff;font-size:14px}.album-chip.selected{background:#e5eedc;border-color:#afc69b;font-weight:650}.album-chip small{font-size:11px;min-width:20px;text-align:center;background:#f4f7ef;padding:3px;border-radius:12px}.archive-album-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 18px}.archive-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;padding:24px}.archive-filters .field{margin:0}.archive-search{grid-column:span 2}.archive-more-filters{grid-column:1/-1}.archive-more-filters summary{cursor:pointer;padding:7px 0;color:#476337;font-size:14px;font-weight:600}.archive-more-filters[open] summary{margin-bottom:14px}.archive-more-filters .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.archive-more-filters .small{margin:10px 0 0}.archive-filter-actions{display:flex;align-items:end;gap:17px;grid-column:span 2}.archive-filter-actions .text-link{align-self:center;font-size:14px}.archive-results-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 2px 15px;font-size:14px;color:#58694e}.archive-results-heading>span{display:inline-flex;align-items:center;gap:6px}.archive-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.archive-photo-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e1e8d9;border-radius:14px;box-shadow:0 3px 9px #1f361308;text-decoration:none;text-align:left;color:inherit;min-width:0;transition:transform .16s,box-shadow .16s}.archive-photo-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px #1f361310}.archive-photo-image{aspect-ratio:4/3;display:block;background:#edf1e7;overflow:hidden}.archive-photo-image img{width:100%;height:100%;object-fit:cover;display:block}.archive-photo-copy{padding:18px;display:flex;flex-direction:column;gap:7px;min-width:0}.archive-photo-copy strong{font-family:Georgia,serif;font-size:24px;line-height:1.2;overflow-wrap:anywhere;font-weight:400;color:#38562d}.archive-photo-copy small{font-size:12px;color:#6e7c65;line-height:1.5}.archive-photo-copy>span{font-size:13px;line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.archive-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:27px;font-size:13px}.archive-detail{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:27px;align-items:start}.archive-full-image{margin:0;border:1px solid #dce5d2;border-radius:15px;overflow:hidden;background:#edf0e9}.archive-full-image img{width:100%;max-height:78vh;object-fit:contain;display:block}.archive-full-image figcaption{padding:21px 24px;background:#fff;font-size:17px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.archive-details{display:grid;grid-template-columns:70px minmax(0,1fr);gap:15px 16px;margin:20px 0 26px;font-size:14px}.archive-details dt{color:#6e7c65}.archive-details dd{margin:0;overflow-wrap:anywhere}.archive-detail .padded h3{font-size:20px;margin:18px 0 10px}.archive-detail .preserve-lines{font-size:14px;line-height:1.8;margin-bottom:23px;overflow-wrap:anywhere}.archive-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.archive-links a,.archive-links button{display:inline-flex;gap:6px;align-items:center;border:1px solid #dae4cf;background:#f5f8f0;border-radius:20px;padding:8px 12px;font-size:13px;text-decoration:none;color:#49663b}.archive-links+.btn{margin-top:20px}.archive-choices{border:1px solid #dce5d3;border-radius:10px;margin:20px 0;padding:15px}.archive-choices legend{font-size:14px;color:#49663b;font-weight:600;padding:0 6px}.archive-choice-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;max-height:185px;overflow:auto;padding:3px}.archive-choice-list .check-label{font-size:13px;margin:0;align-items:start;padding:7px 3px;line-height:1.5}.archive-choice-list input{margin-top:3px;flex-shrink:0}.archive-upload-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.archive-upload-layout .padded{padding:27px}.archive-upload-layout h2{font-size:28px;margin-bottom:10px}.archive-upload-layout .muted{font-size:14px;line-height:1.7;margin-bottom:19px}.archive-dropzone{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;border:2px dashed #b8cda6;background:#f7faf2;border-radius:12px;padding:29px 17px;color:#4c6b3e;cursor:pointer}.archive-dropzone.dragging{background:#e8f1df;border-color:#54773e}.archive-dropzone strong{font-size:18px}.archive-dropzone span,.archive-dropzone small{font-size:12px;line-height:1.6}.archive-dropzone input{width:100%;max-width:280px;font-size:13px}.archive-upload-fields{border:0;margin:0;padding:0;min-width:0}.archive-upload-fields:disabled{opacity:.65}.archive-upload-queue{list-style:none;margin:20px 0;padding:0}.archive-upload-queue li{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #e3e9dc}.archive-upload-queue img{width:66px;height:66px;object-fit:cover;border-radius:8px;background:#edf2e7;flex-shrink:0}.archive-upload-queue li>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.archive-upload-queue strong{font-size:13px;overflow-wrap:anywhere}.archive-upload-queue small{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.archive-upload-queue .btn{font-size:11px;padding:7px;min-height:33px}.archive-upload-queue .btn .icon{width:14px}.archive-upload-queue .text-link{font-size:12px}.archive-upload-controls{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.archive-upload-controls [hidden]{display:none}.archive-queue-empty{margin:20px 0}.archive-upload-layout .small{font-size:12px;line-height:1.7}.archive-upload-layout .small .btn{margin-top:8px}#archive-upload-status p{font-size:13px;margin:18px 0 10px}#archive-upload-status progress{width:100%;height:9px;accent-color:#587b42}.archive-memory-banner{display:flex;align-items:center;gap:15px;border:1px solid #dce6d1;background:#f3f7ec;border-radius:12px;padding:19px;margin:0 0 25px;color:#506b41}.archive-memory-banner>span{flex:1;font-size:14px;line-height:1.6}.memory-archive-picker{border:1px solid #dce5d4;background:#f7faf2;border-radius:10px;padding:16px;margin:15px 0 22px}.archive-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.archive-picker-grid .archive-photo-copy{padding:10px}.archive-picker-grid .archive-photo-copy strong{font-size:18px}.archive-picker-grid .archive-photo-copy small{font-size:11px}.memory-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px}.photo-upload-row .text-link{display:block;margin-top:8px}.archive-filters input:focus-visible,.archive-filters select:focus-visible,.archive-photo-card:focus-visible,.album-chip:focus-visible{outline:3px solid #718f58;outline-offset:3px}.archive-upload-fields .field>small{line-height:1.6}
@media(min-width:1500px){.archive-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.archive-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.archive-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-upload-layout{grid-template-columns:1fr}.archive-detail{grid-template-columns:minmax(0,1fr)}.archive-detail>.column-stack{display:grid;grid-template-columns:1fr 1fr;align-items:start}.archive-more-filters .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.archive-albums{padding:13px;gap:7px}.album-chip{font-size:12px;padding:8px 11px}.archive-filters{padding:18px;grid-template-columns:1fr 1fr;gap:15px 12px}.archive-search{grid-column:1/-1}.archive-filter-actions{grid-column:1/-1}.archive-filters .field input,.archive-filters .field select{font-size:16px}.archive-results-heading{align-items:start;font-size:12px}.archive-results-heading>span{max-width:110px;font-size:11px}.archive-gallery{gap:12px}.archive-photo-copy{padding:12px}.archive-photo-copy strong{font-size:20px}.archive-photo-copy small{font-size:11px}.archive-photo-copy>span{font-size:12px}.archive-detail>.column-stack{display:flex}.archive-full-image figcaption{font-size:15px;padding:18px}.archive-upload-layout .padded{padding:19px}.archive-choice-list{grid-template-columns:1fr}.archive-upload-queue img{width:52px;height:52px}.archive-upload-queue li{gap:9px}.archive-upload-queue .btn{font-size:0}.archive-upload-queue .btn .icon{width:17px}.archive-memory-banner{flex-wrap:wrap;padding:16px}.archive-memory-banner>.btn{margin-left:35px}.archive-memory-banner>span{font-size:13px}.archive-pagination .btn{font-size:12px;padding:9px 10px}.archive-album-actions .small{width:100%}}

.archive-heic-preview{width:66px;height:66px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:8px;background:#edf2e7;color:#577044}.archive-heic-preview small{font-size:10px;font-weight:650;letter-spacing:.5px}@media(max-width:600px){.archive-heic-preview{width:52px;height:52px}}

/* Sharing calls attention to a photograph without changing its people tags. */
.shared-photo-list{display:flex;flex-direction:column;gap:14px}.shared-photo-item{display:flex;align-items:center;gap:20px;padding:18px;text-decoration:none;color:inherit}.shared-photo-item.unread{border-left:4px solid #587b42;background:#fbfdf7}.shared-photo-item>img{width:120px;height:100px;object-fit:cover;border-radius:9px;background:#edf1e7;flex-shrink:0}.shared-photo-item>span{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.shared-photo-item strong{font:26px/1.2 Georgia,serif;color:#38562d;overflow-wrap:anywhere}.shared-photo-item small{font-size:12px;color:#65785a}.shared-photo-item>span>span{font-size:14px;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-unread-label{color:#436433;font-size:10px;letter-spacing:1px;margin-right:5px}.share-recipient-fieldset{border:1px solid #dce5d3;border-radius:11px;margin:20px 0;padding:18px}.share-recipient-fieldset legend{font-size:16px;font-weight:650;color:#49663b;padding:0 7px}.share-recipient-fieldset>.small{font-size:13px;line-height:1.6;margin-bottom:13px}.share-member-options{max-height:290px;overflow:auto}.share-recipient-row{display:flex;gap:14px;align-items:center;padding:10px 2px;border-bottom:1px solid #e5ebdf}.share-recipient-row:last-child{border-bottom:0}.share-recipient-row>.check-label{margin:0;flex:1;line-height:1.5}.share-visibility select{border:1px solid #cbd9bf;border-radius:7px;background:#fff;padding:8px;color:#466038;font:inherit;font-size:13px}.share-visibility select:focus-visible,.shared-photo-item:focus-visible{outline:3px solid #718f58;outline-offset:3px}.share-recipient-summary{list-style:none;margin:15px 0;padding:0}.share-recipient-summary li{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e5ebdf;line-height:1.5}.share-recipient-summary li>span{display:flex;flex-direction:column;gap:3px}.share-recipient-summary strong{font-size:14px;overflow-wrap:anywhere}.share-recipient-summary small{font-size:12px;color:#65785a}.share-recipient-summary .share-delivery-status{max-width:45%;text-align:right}.share-recipient-summary .danger{color:#b24233}.share-history{margin-top:22px;border-top:1px solid #dce5d3;padding-top:16px}.share-history summary{cursor:pointer;color:#49663b;font-weight:600;font-size:14px}.share-history a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;color:#49663b;text-decoration:none;border-bottom:1px solid #e5ebdf;font-size:13px}.share-history a:hover{text-decoration:underline}#photo-share-form .notice{font-size:13px;line-height:1.6}
@media(max-width:600px){.shared-photo-item{padding:13px;gap:12px}.shared-photo-item>img{width:75px;height:80px}.shared-photo-item strong{font-size:21px}.shared-photo-item small{font-size:11px}.shared-photo-item>span>span{font-size:12px}.share-recipient-fieldset{padding:12px}.share-recipient-row{gap:9px}.share-recipient-row>.check-label{font-size:13px}.share-visibility select{font-size:13px;max-width:125px}.share-recipient-summary li{gap:9px}.share-recipient-summary .share-delivery-status{max-width:42%}}
.share-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.share-invite-relative{font-size:13px;line-height:1.6;margin:17px 0 0}.share-invite-relative .btn{font-size:12px;padding:8px 10px;margin-top:7px}.share-recipient-fieldset .check-label>span>small{display:block;font-size:12px;font-weight:400;line-height:1.7;color:#6e7c65;margin-top:4px}.share-guest-history{display:flex;flex-direction:column;gap:5px;padding:15px 0;border-bottom:1px solid #e5ebdf}.share-guest-history>strong{font-size:14px}.share-guest-history>small{font-size:12px;line-height:1.6;color:#6e7c65;overflow-wrap:anywhere}.share-guest-history>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.share-guest-history .btn{font-size:12px;padding:8px 11px}.share-created>p{line-height:1.7;font-size:14px}.share-created .notice{margin:17px 0}.guest-photo-page{max-width:1050px;margin:0 auto;padding:45px 35px 60px}.guest-photo-message{margin-bottom:25px}.guest-photo-message p{margin:0;font-size:18px;line-height:1.8}.guest-photo-expiry{margin-top:20px;font-size:12px;line-height:1.7}@media(max-width:600px){.guest-photo-page{padding:30px 20px 45px}.guest-photo-message{padding:20px}.guest-photo-message p{font-size:15px}.guest-photo-page h1{font-size:34px}}

/* Keep guest-access choices compact in native browsers. */
.share-recipient-fieldset{min-width:0}.share-recipient-fieldset .check-label{align-items:flex-start}.share-recipient-fieldset .check-label>span{flex:1;min-width:0}.share-recipient-fieldset input[type=radio]{width:18px;height:18px;min-height:0;flex:0 0 18px;padding:0;margin:3px 0 0;border:0;accent-color:var(--green)}

/* Photo titles open their existing collection without changing records. */
.photo-collection-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}.photo-collection-link:hover{color:var(--green)}
.archive-photo-groups{display:flex;flex-direction:column;gap:28px}.archive-collection{min-width:0}.archive-collection-heading{margin:0 0 16px;font-size:27px;line-height:1.25;overflow-wrap:anywhere}.archive-collection-heading .photo-collection-link{color:inherit}.archive-collection-heading .photo-collection-link:focus-visible{outline:3px solid #718f58;outline-offset:4px}

/* A quiet family home: five familiar places, with other tools behind More. */
.simple-shell{min-height:100vh;display:flex;flex-direction:column}
.family-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:35}
.family-header-inner{max-width:1280px;margin:0 auto;padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.family-header-actions{display:flex;align-items:center;gap:15px}
.family-header .brand{font-size:27px}.family-header .brand small{font-size:7px}
.home-nav-link,.shared-nav-link,.family-more summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;border-radius:8px;color:var(--green);font-weight:600}
.home-nav-link.active,.home-nav-link:hover,.shared-nav-link:hover,.family-more summary:hover{background:var(--sage)}
.shared-nav-link{position:relative}.shared-nav-link .count-badge{position:absolute;top:0;right:0;font-size:11px;min-width:18px;text-align:center}
.family-more{position:relative}.family-more summary{cursor:pointer;list-style:none;border:1px solid var(--line)}.family-more summary::-webkit-details-marker{display:none}.family-more summary:focus-visible{outline:3px solid #759d85;outline-offset:3px}
.family-more-panel{position:absolute;right:0;top:calc(100% + 12px);width:300px;max-height:calc(100dvh - 110px);overflow-y:auto;background:#fff;border:1px solid var(--line);box-shadow:0 12px 40px #24362a1a;border-radius:14px;padding:15px;z-index:40}
.family-menu-user{padding:2px 10px 14px;border-bottom:1px solid var(--line);margin-bottom:8px;overflow-wrap:anywhere}.family-menu-user strong,.family-menu-user small{display:block}.family-menu-user small{font-size:12px;color:var(--muted);margin-top:3px}
.family-more nav a,.family-more nav button,.family-signout{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px;border-radius:7px;min-height:42px;font-size:14px}.family-more nav a:hover,.family-more nav button:hover,.family-signout:hover,.family-more nav [aria-current=page]{background:var(--sage)}
.family-menu-search{border-top:1px solid var(--line);margin-top:10px;padding:15px 8px 8px}.family-menu-search label{font-size:12px;color:var(--muted)}.family-menu-search>div{display:flex;gap:4px;margin-top:6px}.family-menu-search input{min-width:0}.family-menu-search button{padding:8px}
.family-choice{display:flex;align-items:center;gap:8px}.family-choice>span{font-size:12px;color:var(--muted)}.family-choice select{max-width:230px;font-size:14px}
.family-tabs{display:flex;gap:12px;padding:0 36px 12px;max-width:1280px;margin:auto;overflow-x:auto}.family-tabs a{display:flex;align-items:center;gap:8px;white-space:nowrap;min-height:42px;padding:8px 13px;border-radius:7px;font-weight:500;color:#67746a}.family-tabs a:hover,.family-tabs [aria-current=page]{color:var(--green);background:var(--sage)}
.simple-main.main-content,.simple-main{width:100%;max-width:1280px;margin:0 auto;padding:36px;min-height:0;flex:1}.simple-main.home-main{max-width:1200px;padding:72px 36px 80px}
.home-heading{text-align:center;margin:0 auto 44px;max-width:800px}.home-heading .eyebrow{font-size:11px;letter-spacing:2.3px;margin-bottom:16px}.home-heading h1{font-size:48px;line-height:1.16;overflow-wrap:anywhere}.home-heading p{font-size:17px;color:var(--muted);margin-top:18px}
.home-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-tile{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #e0e7dc;border-radius:18px;padding:32px 15px 25px;min-height:230px;box-shadow:0 4px 14px #24362a04;transition:transform .18s,border-color .18s,box-shadow .18s}.home-tile:hover{transform:translateY(-4px);border-color:#a5b9a1;box-shadow:0 10px 25px #24362a0b}.home-tile-symbol{display:grid;place-items:center;background:#edf2e7;border-radius:20px;width:82px;height:82px;color:#507448;margin-bottom:24px}.home-tile strong{font-size:17px;line-height:1.4;font-weight:600;color:var(--ink)}.home-tile>span:last-child{font-size:13px;color:var(--muted);margin-top:9px;max-width:155px;line-height:1.6}.tile-calendar .home-tile-symbol{background:#f6eddd;color:#947240}.tile-photos .home-tile-symbol{background:#e5eff0;color:#507b81}.tile-audio .home-tile-symbol{background:#eee8f3;color:#806391}.tile-videos .home-tile-symbol{background:#f5e8e1;color:#a37257}
.home-invitation-help{text-align:center;color:var(--muted);font-size:14px;max-width:480px;margin:34px auto 0}.simple-footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;color:#7b867b;font-size:12px;padding:24px 20px 28px;text-align:center}.simple-footer a:hover{text-decoration:underline}
@media(max-width:1000px){.home-tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.home-tile{grid-column:span 2;min-height:215px}.simple-main.home-main{max-width:850px;padding-top:48px}.home-heading h1{font-size:43px}.family-header-inner{padding:18px 24px}.family-header-actions{gap:7px}.family-choice>span{display:none}.family-choice select{max-width:180px}}
@media(max-width:650px){.family-header-inner{padding:16px;gap:12px;flex-wrap:wrap}.family-header .brand{font-size:23px;gap:4px}.family-header .brand-mark{width:30px}.family-header .brand small{font-size:6px;letter-spacing:1px}.family-header-actions{gap:3px;margin-left:auto}.family-choice{order:5;width:100%}.family-choice select{max-width:none}.family-header-actions:has(.family-choice){flex-wrap:wrap;justify-content:flex-end}.family-header-inner:has(.family-choice){align-items:flex-start}.family-header-inner:has(.family-choice) .brand{margin-top:8px}.home-nav-link{padding:9px}.home-nav-link span{display:none}.shared-nav-link{padding:9px}.family-more summary{padding:9px;gap:6px}.family-more summary>.icon:last-child{display:none}.family-more-panel{position:fixed;top:82px;left:16px;right:16px;width:auto;max-height:calc(100dvh - 100px)}.family-tabs{padding:0 16px 10px;gap:5px}.family-tabs a{font-size:13px;padding:8px 10px}.simple-main.main-content,.simple-main{padding:25px 17px}.simple-main.home-main{padding:38px 17px 32px}.home-heading{margin-bottom:29px}.home-heading h1{font-size:35px;letter-spacing:-.7px}.home-heading .eyebrow{font-size:10px;margin-bottom:12px}.home-heading p{font-size:15px;margin-top:14px}.home-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-tile,.home-tile:nth-child(4),.home-tile:nth-child(5){grid-column:auto;padding:20px 10px;min-height:146px;border-radius:14px}.home-tile-symbol{width:65px;height:65px;border-radius:17px;margin-bottom:17px}.home-tile-symbol .icon{width:36px;height:36px}.home-tile strong{font-size:16px}.home-tile>span:last-child{display:none}.home-invitation-help{font-size:13px;margin-top:28px}.simple-footer{font-size:11px;padding:20px}.public-simple-header .btn{font-size:13px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.home-tile{transition:none}.home-tile:hover{transform:none}}
@media print{.family-header,.simple-footer{display:none!important}.simple-main.main-content{max-width:none;padding:0}}

/* Keep direct family invitations focused on delivery, with a tucked-away link fallback. */
#invitation-delivery-status h3{font-size:20px;margin-bottom:12px}#invitation-delivery-status p{margin-bottom:18px;overflow-wrap:anywhere}#invitation-result>.small{margin:20px 0}.invitation-copy-fallback{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.invitation-copy-fallback summary{cursor:pointer;color:var(--green);font-size:14px}.invitation-copy-fallback textarea{margin-top:14px}.invitation-copy-fallback .btn{margin-top:12px}.invitation-email-status{margin-top:5px}.approval-row .invitation-email-status+.btn{margin-top:8px;padding:7px 11px;font-size:13px}

/* Keep invitations easy to find, with a visible label below the icon. */
.invite-nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:48px;min-height:48px;padding:6px 10px;border-radius:8px;color:var(--green);font-weight:600}.invite-nav-button span{font-size:11px;line-height:1.2}.invite-nav-button:hover{background:var(--sage)}.invite-nav-button:focus-visible{outline:3px solid #759d85;outline-offset:3px}

.shared-nav-link{flex-direction:column;gap:3px}.shared-nav-label{font-size:11px;line-height:1.2;white-space:nowrap}
.photo-organize-tile{position:relative;min-width:0;border-radius:12px;outline:3px solid transparent;outline-offset:2px}.photo-organize-tile .archive-photo-card{height:100%;display:block}.photo-organize-tile.photo-selected{outline-color:#587b42}.photo-select-control{position:absolute;left:10px;top:10px;display:grid;place-items:center;width:34px;height:34px;background:#fff;border-radius:50%;box-shadow:0 1px 8px #0004;cursor:pointer}.photo-select-control input{width:20px;height:20px;margin:0;accent-color:#587b42;cursor:pointer}.photo-bulk-toolbar{padding:15px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;position:sticky;top:0;z-index:3}.photo-bulk-toolbar p{width:100%;font-size:12px;line-height:1.5;color:var(--muted);margin:0}.photo-bulk-toolbar .btn{font-size:12px;padding:8px 11px}.album-chip.photo-drop-active{outline:3px solid #587b42;background:#e5eedc;transform:scale(1.04)}

.photo-drop-targets{display:flex;flex-wrap:wrap;gap:8px;width:100%}.photo-drop-targets:empty{display:none}@media(max-width:600px){.photo-bulk-toolbar{position:static}.photo-drop-targets{display:none}}

/* Ordering controls appear only while arranging; images remain caption-free. */
.order-tile,[data-order-kind] [data-order-tile]{cursor:grab;position:relative}
.order-controls{display:flex;gap:6px;justify-content:center;padding:8px;background:var(--surface,#fff)}
.order-controls button{min-width:38px;min-height:38px;border:1px solid #becab8;border-radius:6px;background:white;color:#304f3b;cursor:pointer}
.order-controls button:focus-visible{outline:3px solid #4d7859}
.order-drop-target{outline:4px solid #4d7859;outline-offset:2px}
[data-order-kind][aria-busy=true]{opacity:.65;pointer-events:none}

[data-order-tile]{touch-action:none;user-select:none;-webkit-user-select:none}
[data-order-tile] img{-webkit-user-drag:none}

.order-select{position:absolute;top:8px;left:8px;z-index:2;background:white;border-radius:50%;padding:6px;display:flex;box-shadow:0 1px 4px #0004;cursor:pointer}
.order-select input{width:20px;height:20px;margin:0;cursor:pointer}
.order-moving{opacity:.45;outline:2px solid #365c43}
.order-insertion-marker{position:fixed;z-index:9999;pointer-events:none;width:5px;background:#247c3c;border-radius:4px;box-shadow:0 0 0 2px white;color:#174c27;font-size:12px;font-weight:700;white-space:nowrap;padding-top:4px;text-indent:10px}
.order-insertion-marker[hidden]{display:none}

.archive-arrange-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0}.archive-arrange-tools p{margin:0;color:#526350}.archive-search-options{margin:12px 0}.archive-search-options>summary{cursor:pointer;color:#49634c;padding:8px 0}

.library-audio-preview{min-height:160px;display:grid;place-items:center;background:#eef2e8;color:#49634c}.library-card[data-order-tile] .library-item-title{cursor:grab}

.photo-bulk-toolbar,.library-bulk{display:none}body:has([data-photo-select]:checked) .photo-bulk-toolbar,body:has([name="item_ids"]:checked) .library-bulk{display:flex}

.document-card-name{display:block;padding:10px;font-weight:600;overflow-wrap:anywhere}

.document-reader{background:white;padding:clamp(16px,3vw,32px);text-align:left;min-height:320px;width:100%;box-sizing:border-box}.document-reader pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7;margin:0;color:var(--ink,#263e32)}.document-reader-pdf{display:block;width:100%;height:75vh;min-height:440px;border:0;background:white}.archive-full-image:has(.document-reader),.archive-full-image:has(.document-reader-pdf){display:block;min-width:0}

.family-map-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:24px;align-items:start}#family-map{height:62vh;min-height:360px;background:#dcebf0;border-radius:14px;border:1px solid #cdd9cc;z-index:0}.family-map-places{max-height:68vh;overflow:auto}.family-map-place{padding:14px 0;border-bottom:1px solid #e0e7da}.family-map-names{display:flex;flex-direction:column;gap:8px;margin-top:10px}.family-map-pin{background:#315b48;color:white;border:2px solid white;border-radius:50%;box-shadow:0 2px 5px #0005;text-align:center;font:600 13px/26px system-ui}.family-map-fit{background:white;color:#315b48;border:1px solid #b3c4ac;border-radius:5px;padding:10px;cursor:pointer}.family-map-missing{margin-top:22px}.family-map-missing summary{cursor:pointer;font-weight:600}@media(max-width:760px){.family-map-layout{grid-template-columns:1fr}.family-map-places{max-height:none}#family-map{height:55vh}}

.family-map-name-label{position:absolute;left:17px;top:-7px;display:block;width:max-content;max-width:190px;padding:5px 8px;border:1px solid #b6c8ac;border-radius:6px;background:#fff;color:#294f43;box-shadow:0 2px 5px #0002;text-align:left;font:600 12px/1.4 system-ui;white-space:normal;overflow-wrap:anywhere}

.uploaded-by{display:table;margin:0 0 18px;padding:7px 12px;border-radius:18px;background:#eaf0e4;color:#365740;font-size:13px}.uploaded-by strong{font-weight:600}

#person-photo-dropzone{border:2px dashed #bccdb0;border-radius:12px;padding:14px}#person-photo-dropzone.dragging{background:#e8f1df;border-color:#54773e}#person-photo-status{font-size:13px;font-weight:600;margin-top:8px}

.profile-picture-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;flex-shrink:0}.profile-picture-drop>span:not(.avatar){font-size:12px;color:#365740}.profile-picture-drop input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.profile-picture-drop.dragging .avatar,.profile-picture-drop:focus-within .avatar{outline:3px dashed #54773e;outline-offset:4px}

.photo-context-menu{position:fixed;z-index:1500;background:#fff;border:1px solid #dbe1d7;border-radius:9px;padding:5px;box-shadow:0 6px 24px #0003}.photo-context-menu button{display:block;padding:12px 18px;color:#9c2929;text-align:left;width:100%;border-radius:5px}.photo-context-menu button:hover,.photo-context-menu button:focus{background:#fff0ed}

.order-page-drops{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0;padding:12px;border:1px dashed #aabca0;border-radius:12px;background:#f4f8ef}.order-page-drops>span{font-size:13px;color:#526848}.order-dragging .order-page-drops{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:1200;margin:0;max-width:calc(100vw - 24px);box-shadow:0 4px 22px #0003}.order-dragging .order-page-target{border:2px dashed #6a8954;min-height:54px}.order-dragging .order-page-drops>span{display:none}

.library-grid>.order-page-drops{grid-column:1 / -1}

.order-page-drops{flex-wrap:wrap}.order-dragging .order-page-drops{width:max-content;max-height:35vh;overflow:auto}.order-current-page{padding:10px;color:#526848;font-size:13px}.order-dragging .order-page-drops>.order-current-page{display:inline-block}

.calendar-person-link{color:#000;text-decoration:underline;text-underline-offset:2px}.calendar-person-link:hover{color:#000}.calendar-person-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.calendar-event span,.event-row .event-description strong,.event-row:hover .event-description strong,.event-row .event-description small,.event-row .event-when,.event-row .kind-label,.event-row .date-tile b,.event-row .date-tile small{color:#000}

.site-tools{display:flex;justify-content:flex-end;gap:24px;max-width:1250px;margin:12px auto;padding:0 24px}
.undo-notice{display:flex;align-items:center;gap:12px;pointer-events:auto}
.archive-photo-image,.photo-organize-tile,.slideshow-image{position:relative}
.image-retry{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5}
.slideshow-modal{width:min(1200px,96vw)!important}
.slideshow-image{height:min(70vh,850px);display:flex;align-items:center;justify-content:center;background:#17251f;border-radius:10px}
.slideshow-image img{max-width:100%;max-height:100%;object-fit:contain}
.slideshow-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:16px;flex-wrap:wrap}
.join-welcome{max-width:580px;margin:40px auto;padding:0 16px}
.join-password{display:flex;gap:8px}.join-password input{min-width:0;flex:1}
@media print{.site-tools{display:none}}

.image-retry-wrapper{position:relative;min-width:0;width:100%}

.alert-list-entry{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.alert-list-entry.is-unread{border-left:4px solid #2d5847}.alert-list-entry>span{font-size:13px;color:#647563}.family-alert-body{font-size:18px;line-height:1.6}.alert-recipient-actions{display:flex;gap:20px;margin:14px 0}

.home-nav-link.alert-nav-link{flex-direction:column;gap:3px;font-size:11px}.home-nav-link.alert-nav-link span{display:inline}

/* Keep the main Contacts action prominent and readable on phones. */
.contacts-page .page-header{flex-wrap:wrap;align-items:flex-start}
.contacts-page .page-actions{flex-wrap:wrap;justify-content:flex-start}
.contacts-page .page-actions [data-action="add-person"]{font-size:14px;gap:8px;width:auto;height:auto;min-height:44px;padding:12px 16px;white-space:nowrap}

/* The digital frame fits whole photographs, including portraits and tall scans. */
.photo-frame{margin:0 0 26px;border-radius:15px;overflow:hidden;background:#17251f;color:#f5f7f3;box-shadow:0 8px 28px #16291d18}
.photo-frame-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:15px 20px}.photo-frame-heading h2{color:inherit;font-size:17px}.photo-frame-heading .small{color:#bdcabf}
.photo-frame-stage{position:relative;height:clamp(240px,48vh,570px);min-height:0;background:#101a15;overflow:hidden}.photo-frame-picture{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.photo-frame-picture img{width:100%;height:100%;object-fit:contain}.photo-frame-status{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);max-width:90%;padding:8px 14px;border-radius:8px;background:#17251fe8;color:#fff;text-align:center}.photo-frame-status[hidden],.photo-frame-controls [hidden]{display:none}
.photo-frame-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px 16px}.photo-frame-controls .btn{background:#ffffff0e;border-color:#8aa59170;color:#fff;min-height:42px}.photo-frame-controls .btn:hover{background:#ffffff20}.photo-frame-controls .btn:disabled{opacity:.55}
.photo-frame-page{height:100vh;height:100dvh;display:flex;flex-direction:column;padding:12px;gap:8px}.photo-frame-page>.back-link{margin:0;align-self:flex-start}.photo-frame-standalone{flex:1;min-height:0;margin:0;display:flex;flex-direction:column}.photo-frame-standalone .photo-frame-stage{flex:1;height:auto}.photo-frame-standalone .photo-frame-heading,.photo-frame-standalone .photo-frame-controls{flex-shrink:0}
.photo-frame:fullscreen{width:100vw;height:100vh;margin:0;border-radius:0;display:flex;flex-direction:column}.photo-frame:fullscreen .photo-frame-stage{flex:1;height:auto}.photo-frame:fullscreen .photo-frame-heading,.photo-frame:fullscreen .photo-frame-controls{flex-shrink:0}
@media(max-width:600px){.photo-frame-heading{padding:12px}.photo-frame-heading .small{font-size:12px}.photo-frame-controls{gap:8px;padding:10px}.photo-frame-controls .btn{font-size:13px;padding:9px 11px}.photo-frame-page{padding:6px}.photo-frame-stage{height:300px;max-height:50vh}}
.photo-frame-standalone .photo-frame-stage,.photo-frame:fullscreen .photo-frame-stage{max-height:none}

.photo-frame[hidden],.photo-frame-show[hidden]{display:none}.photo-frame-show{margin-bottom:22px}

/* Compact photo browsing, independent of scan cards and the digital frame. */
.archive-gallery.photo-thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.photo-thumbnail-grid .archive-photo-card,.photo-thumbnail-grid .photo-organize-tile{border-radius:9px}
@media(max-width:600px){.archive-gallery.photo-thumbnail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}

/* Keep the page amount visible beside the photo count, including on phones. */
.archive-results-heading{flex-wrap:wrap}
.photo-results-controls{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.photo-results-controls>span,.photo-page-size{display:inline-flex;align-items:center;gap:7px}
.photo-page-size{white-space:nowrap;color:#294f43}
.photo-page-size select{width:auto;min-width:74px;min-height:40px;padding:7px 10px;border:1px solid #cbd7c5;border-radius:8px;background:#fff;color:#233e32;font:inherit}
.photo-page-size select:focus-visible{outline:3px solid #718f58;outline-offset:2px}
@media(max-width:600px){.photo-results-controls{justify-content:flex-start;gap:10px 16px}.photo-page-size select{font-size:16px}}

/* Keep the previous photo visible until its decoded replacement dissolves over it. */
.photo-frame-picture{position:relative}
.photo-frame-picture img{position:absolute;inset:0;background:#101a15}
.photo-frame-picture .photo-frame-incoming{animation:photo-frame-dissolve .35s ease-in-out both}
@keyframes photo-frame-dissolve{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.photo-frame-picture .photo-frame-incoming{animation:none}}
