:root{--bg: #0f1115;--bg-elev: #161a21;--card-bg: #1a1d24;--line: #2a3140;--teal: #2dd4bf;--teal-soft: rgba(45, 212, 191, .5);--teal-faint: rgba(45, 212, 191, .22);--female: #f472b6;--female-faint: rgba(244, 114, 182, .25);--text: #e6edf3;--muted: #8b95a7}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:radial-gradient(900px 540px at 12% -8%,rgba(45,212,191,.09),transparent 70%),radial-gradient(820px 520px at 105% 28%,rgba(99,102,241,.08),transparent 70%),radial-gradient(700px 480px at 50% 115%,rgba(45,212,191,.06),transparent 70%),var(--bg);color:var(--text);color-scheme:dark}.app{display:flex;flex-direction:column;height:100vh}.toolbar{display:flex;align-items:center;gap:16px;padding:10px 20px;background:#12151be6;border-bottom:1px solid var(--teal-faint);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;animation:toolbarIn .4s ease both}@keyframes toolbarIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.logo{width:30px;height:30px;filter:drop-shadow(0 0 6px rgba(45,212,191,.65));animation:logoIn 1s ease both}.logo line{stroke:var(--teal-soft);stroke-width:1.4}.logo circle{fill:var(--bg-elev);stroke:var(--teal);stroke-width:1.4}.logo circle.filled{fill:var(--teal)}@keyframes logoIn{0%{opacity:0;transform:scale(.6) rotate(-20deg)}to{opacity:1;transform:none}}.toolbar h1{font-size:1.1rem;margin:0;color:var(--teal);text-shadow:0 0 18px rgba(45,212,191,.45);letter-spacing:.02em}.count{font-size:.85rem;color:var(--muted)}.sync-status{font-size:.78rem;color:var(--muted)}.sync-status.saved,.sync-status.idle{color:#4ade80}.sync-status.saving{color:var(--teal)}.sync-status.error{color:#f87171}.toolbar-actions button.unlock{border-color:var(--teal-soft);color:var(--teal)}.gate-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:20px}.gate-logo{width:56px;height:56px}.gate-screen h1{font-size:1.3rem;margin:0;color:var(--teal);text-shadow:0 0 18px rgba(45,212,191,.45)}.gate-hint{margin:0;font-size:.85rem;color:var(--muted)}.gate-screen input{width:260px;padding:10px 14px;border:1px solid var(--line);background:var(--bg-elev);color:var(--text);border-radius:8px;font-size:.95rem;text-align:center;transition:border-color .15s,box-shadow .15s}.gate-screen input:focus{outline:none;border-color:var(--teal-soft);box-shadow:0 0 12px #2dd4bf4d}.gate-screen button{padding:9px 28px;border-radius:8px;border:1px solid var(--teal-soft);background:#0d3b36;color:var(--teal);font-size:.95rem;cursor:pointer;transition:box-shadow .15s,transform .1s}.gate-screen button:hover{box-shadow:0 0 16px #2dd4bf59}.gate-screen button:active{transform:scale(.96)}.gate-screen button:disabled{opacity:.6;cursor:wait}.gate-error{margin:0;font-size:.82rem;color:#f87171;animation:detailsIn .25s ease both}.loading-screen{flex:1;display:flex;align-items:center;justify-content:center;height:100vh;color:var(--teal);font-size:1rem;text-shadow:0 0 16px rgba(45,212,191,.4);animation:pulseText 1.6s ease-in-out infinite alternate}@keyframes pulseText{0%{opacity:.55}to{opacity:1}}.zoom-controls{margin-left:auto;display:flex;gap:4px}.zoom-controls button{border:1px solid var(--line);background:var(--bg-elev);color:var(--text);border-radius:6px;cursor:pointer;font-size:.9rem;width:30px;height:30px;line-height:1;transition:border-color .15s,box-shadow .15s,transform .1s}.zoom-controls button:hover{border-color:var(--teal-soft);box-shadow:0 0 10px #2dd4bf40}.zoom-controls button:active{transform:scale(.93)}.zoom-controls .zoom-pct{width:auto;min-width:54px;padding:0 8px;font-size:.8rem;color:var(--teal);font-variant-numeric:tabular-nums}.toolbar-actions{display:flex;gap:8px}.toolbar-actions button{padding:6px 14px;border:1px solid var(--line);background:var(--bg-elev);color:var(--text);border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.toolbar-actions button:hover{border-color:var(--teal-soft);box-shadow:0 0 10px #2dd4bf40}.toolbar-actions button:active{transform:scale(.95)}.toolbar-actions button.danger:hover{border-color:#f8717199;box-shadow:0 0 10px #f8717140;color:#f87171}.tree-stage{position:relative;flex:1;min-height:0;display:flex}.sky-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.tree-viewport{flex:1;overflow:auto;padding:40px;cursor:grab;position:relative;z-index:1;background-image:radial-gradient(rgba(230,237,243,.05) 1px,transparent 1px);background-size:26px 26px}.tree-viewport.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.tree-viewport.panning .card{pointer-events:none}.glow-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.tree-viewport::-webkit-scrollbar{width:10px;height:10px}.tree-viewport::-webkit-scrollbar-track{background:transparent}.tree-viewport::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}.tree-viewport::-webkit-scrollbar-thumb:hover{background:var(--teal-soft)}.tree,.tree ul{display:flex;justify-content:center;list-style:none;margin:0;padding:0;position:relative}.tree{width:max-content;min-width:100%}.tree ul{padding-top:28px}.tree li{display:flex;flex-direction:column;align-items:center;position:relative;padding:28px 14px 0}.tree li:before,.tree li:after{content:"";position:absolute;top:0;width:50%;height:28px;border-top:2px solid var(--teal-soft)}.tree li:before{right:50%;border-right:2px solid var(--teal-soft)}.tree li:after{left:50%}.tree li:only-child:before,.tree li:only-child:after{display:none}.tree li:only-child{padding-top:0}.tree li:first-child:before{border:none}.tree li:first-child:after{border-radius:8px 0 0;border-left:2px solid var(--teal-soft)}.tree li:last-child:after{display:none}.tree li:last-child:before{border-right:2px solid var(--teal-soft);border-radius:0 8px 0 0}.tree li:first-child:last-child:before{display:none}.tree ul:before{content:"";position:absolute;top:0;left:50%;width:2px;height:28px;background:var(--teal-soft);box-shadow:0 0 8px #2dd4bf59}.tree>li{padding-top:0}.tree>li:before,.tree>li:after{display:none}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.92)}to{opacity:1;transform:none}}.tree li>.couple{animation:cardIn .5s cubic-bezier(.34,1.4,.64,1) both;animation-delay:var(--d, 0s)}@keyframes lineIn{0%{opacity:0}to{opacity:1}}.tree ul:before,.tree li:before,.tree li:after{animation:lineIn .45s ease both;animation-delay:var(--d, 0s)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.couple{display:flex;align-items:center;gap:6px}.spouse-link{color:var(--teal);font-size:1.2rem;text-shadow:0 0 10px rgba(45,212,191,.5);transition:transform .25s ease}.couple:hover .spouse-link{transform:scale(1.3) rotate(8deg)}.card{background:var(--card-bg);border:1px solid var(--teal-faint);border-top:4px solid var(--teal);border-radius:12px;box-shadow:0 0 14px #2dd4bf1a,0 4px 12px #0006;padding:12px 14px 8px;width:130px;text-align:center;position:relative;cursor:pointer;transition:width .3s cubic-bezier(.34,1.3,.64,1),transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px);border-color:var(--teal-soft);box-shadow:0 0 22px #2dd4bf47,0 8px 20px #00000080}.card.female{border-top-color:var(--female);border-color:var(--female-faint);box-shadow:0 0 14px #f472b61a,0 4px 12px #0006}.card.female:hover{border-color:#f472b68c;box-shadow:0 0 22px #f472b647,0 8px 20px #00000080}.card.expanded{width:190px;border-color:var(--teal-soft);box-shadow:0 0 26px #2dd4bf52,0 10px 24px #0000008c}.card.female.expanded{border-color:#f472b68c;box-shadow:0 0 26px #f472b652,0 10px 24px #0000008c}.avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;border:2px solid var(--line);transition:transform .25s cubic-bezier(.34,1.5,.64,1),border-color .2s,box-shadow .2s}.card:hover .avatar{transform:scale(1.08);border-color:var(--teal);box-shadow:0 0 12px #2dd4bf66}.card.female:hover .avatar{border-color:var(--female);box-shadow:0 0 12px #f472b666}.avatar.placeholder{font-size:1.6rem;font-weight:600}.avatar.placeholder.male{background:#13343b;color:var(--teal)}.avatar.placeholder.female{background:#3b1430;color:var(--female)}.card-name{font-weight:600;font-size:.88rem;line-height:1.2;word-wrap:break-word;color:var(--text)}.card-pet{font-size:.78rem;font-style:italic;color:var(--teal);opacity:.85;margin-top:2px}.card.female .card-pet{color:var(--female)}.status-dot{position:absolute;top:10px;right:10px;width:9px;height:9px;border-radius:50%}.status-dot.alive{background:#4ade80;box-shadow:0 0 6px #4ade80b3;animation:heartbeat 2.4s ease-out infinite}@keyframes heartbeat{0%{box-shadow:0 0 6px #4ade80b3,0 0 #4ade8073}60%{box-shadow:0 0 6px #4ade80b3,0 0 0 7px #4ade8000}to{box-shadow:0 0 6px #4ade80b3,0 0 #4ade8000}}.status-dot.deceased{background:#f87171;box-shadow:0 0 6px #f8717199}.card-details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px;text-align:left;animation:detailsIn .3s ease both}@keyframes detailsIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.card-details .detail-row{animation:detailsIn .35s ease both}.card-details .detail-row:nth-child(1){animation-delay:.03s}.card-details .detail-row:nth-child(2){animation-delay:.07s}.card-details .detail-row:nth-child(3){animation-delay:.11s}.card-details .detail-row:nth-child(4){animation-delay:.15s}.card-details .detail-row:nth-child(5){animation-delay:.19s}.card-details .detail-row:nth-child(6){animation-delay:.23s}.detail-row{display:flex;justify-content:space-between;gap:8px;font-size:.74rem;padding:2px 0}.detail-label{color:var(--muted);flex-shrink:0}.detail-value{font-weight:500;text-align:right;word-break:break-word;color:var(--text)}.card-actions{display:flex;justify-content:center;gap:4px;margin-top:8px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.card:hover .card-actions{opacity:1;transform:none}.card-actions button{border:1px solid var(--line);background:var(--bg-elev);color:var(--text);border-radius:5px;width:26px;height:24px;cursor:pointer;font-size:.8rem;line-height:1;transition:background .15s,border-color .15s,transform .12s}.card-actions button:hover{transform:scale(1.15);border-color:var(--teal-soft)}.card-actions button:active{transform:scale(.92)}.card.spouse .card-actions{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070ab3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;animation:backdropIn .2s ease both}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-elev);border:1px solid var(--teal-faint);border-radius:12px;padding:24px;width:380px;max-width:92vw;max-height:88vh;overflow-y:auto;box-shadow:0 0 40px #2dd4bf26,0 20px 50px #0009;animation:modalIn .3s cubic-bezier(.34,1.3,.64,1) both}@keyframes modalIn{0%{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:none}}.modal h2{margin:0 0 16px;font-size:1.05rem;color:var(--teal);text-shadow:0 0 14px rgba(45,212,191,.4)}.field{margin-bottom:12px}.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:4px;color:var(--muted)}.field input[type=text],.field input[type=date],.field input:not([type]){width:100%;padding:8px 10px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:6px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.field input:focus{outline:none;border-color:var(--teal-soft);box-shadow:0 0 8px #2dd4bf40}.radio-row{display:flex;gap:18px}.radio-row label{display:flex;align-items:center;gap:6px;font-weight:400;font-size:.9rem;color:var(--text)}.hint{font-size:.75rem;color:var(--muted);margin:6px 0 0}.photo-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.photo-preview{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--line)}.photo-preview.empty{display:flex;align-items:center;justify-content:center;font-size:.6rem;color:var(--muted);background:var(--bg)}.photo-field input[type=file]{font-size:.75rem;max-width:180px;color:var(--muted)}.link-btn{border:none;background:none;color:var(--teal);cursor:pointer;font-size:.75rem;text-decoration:underline;padding:0}.spouse-section{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.checkbox-row{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.85rem;margin-bottom:10px;color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-actions button{padding:8px 18px;border-radius:6px;cursor:pointer;font-size:.9rem;border:1px solid var(--line);transition:box-shadow .15s,border-color .15s}.modal-actions .secondary{background:var(--bg-elev);color:var(--text)}.modal-actions .primary{background:#0d3b36;border-color:var(--teal-soft);color:var(--teal)}.modal-actions .primary:hover{box-shadow:0 0 14px #2dd4bf59}.gate-tabs{display:flex;gap:6px;background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:4px}.gate-tabs button{padding:7px 18px;border:none;background:transparent;color:var(--muted);border-radius:7px;font-size:.88rem;cursor:pointer;transition:background .15s,color .15s}.gate-tabs button.active{background:#0d3b36;color:var(--teal);box-shadow:0 0 10px #2dd4bf40}.gate-hint.small{font-size:.78rem;max-width:300px}.gate-screen .linklike{background:none;border:none;box-shadow:none;color:var(--muted);font-size:.8rem;padding:2px 4px;cursor:pointer;text-decoration:underline;transition:color .15s}.gate-screen .linklike:hover{color:var(--teal);box-shadow:none}.gate-notice{margin:0;font-size:.82rem;color:var(--teal);max-width:300px;animation:detailsIn .25s ease both}.user-chip{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}.badge{font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.badge.superadmin{color:#f0b3ff;border-color:#d870ff8c;background:#2a123b}.badge.admin{color:var(--teal);border-color:var(--teal-soft);background:#0d3b36}.badge.viewer,.badge.member{color:#93b6ff;border-color:#93b6ff66}.badge.pending{color:#f5b657;border-color:#f5b65773}.admin-actions .small,.muted.small{font-size:.78rem}.admin-pref{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.82rem;color:var(--muted);cursor:pointer}.admin-pref input{accent-color:var(--teal)}.chat-fab{position:fixed;right:20px;bottom:20px;z-index:80;border:1px solid var(--teal-soft);background:#0d3b36;color:var(--teal);border-radius:999px;padding:11px 18px;font-size:.9rem;cursor:pointer;box-shadow:0 8px 24px #00000073,0 0 16px #2dd4bf40;transition:transform .1s,box-shadow .15s}.chat-fab:hover{box-shadow:0 8px 28px #00000080,0 0 22px #2dd4bf66}.chat-fab:active{transform:scale(.96)}.chat-panel{position:fixed;right:20px;bottom:20px;z-index:90;width:360px;max-width:calc(100vw - 32px);height:480px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--teal-faint);border-radius:14px;box-shadow:0 16px 44px #0009;animation:modalIn .2s ease both;overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--teal);font-size:.92rem;font-weight:600}.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.chat-intro{display:flex;flex-direction:column;gap:10px}.chat-suggestions{display:flex;flex-direction:column;gap:6px}.chat-suggestions button{text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:8px 10px;font-size:.82rem;cursor:pointer;transition:border-color .15s,color .15s}.chat-suggestions button:hover:not(:disabled){border-color:var(--teal-soft);color:var(--teal)}.chat-msg{max-width:85%;padding:8px 11px;border-radius:10px;font-size:.86rem;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.chat-msg.user{align-self:flex-end;background:#0d3b36;border:1px solid var(--teal-soft);color:var(--text)}.chat-msg.assistant{align-self:flex-start;background:var(--bg);border:1px solid var(--line);color:var(--text)}.chat-msg.thinking{color:var(--muted);animation:pulseText 1.2s ease-in-out infinite alternate}.chat-error{color:#f87171;font-size:.8rem;margin:0}.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat-input input{flex:1;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:9px 11px;font-size:.86rem;outline:none}.chat-input input:focus{border-color:var(--teal-soft);box-shadow:0 0 10px #2dd4bf38}.chat-input button{border:1px solid var(--teal-soft);background:#0d3b36;color:var(--teal);border-radius:8px;padding:0 16px;font-size:.86rem;cursor:pointer}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.admin-modal{width:460px}.modal-head{display:flex;align-items:center;justify-content:space-between}.icon-btn{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:6px;width:28px;height:28px;cursor:pointer;transition:border-color .15s,color .15s}.icon-btn:hover{color:var(--teal);border-color:var(--teal-soft)}.admin-section{margin-top:16px}.admin-section h3{margin:0 0 8px;font-size:.82rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.admin-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line)}.admin-name{font-size:.9rem;color:var(--text);display:flex;flex-direction:column}.admin-name .you,.admin-age{color:var(--muted);font-size:.78rem}.admin-email{color:var(--muted);font-size:.72rem}.approve-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;border:1px solid var(--teal-faint);background:#0d3b36;border-radius:8px;font-size:.82rem;line-height:1.4}.approve-note p{margin:0}.approve-note code{background:#0000004d;padding:1px 6px;border-radius:4px;color:var(--teal);font-size:.82rem}.forced-fields{width:260px;text-align:left}.forced-fields .field{margin-bottom:10px}.forced-fields .field input{width:100%;padding:9px 12px;border:1px solid var(--line);background:var(--bg-elev);color:var(--text);border-radius:8px;font-size:.92rem}.admin-actions{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.admin-actions button{padding:5px 11px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:6px;font-size:.78rem;cursor:pointer;transition:border-color .15s,color .15s,box-shadow .15s}.admin-actions button:hover:not(:disabled){border-color:var(--teal-soft);color:var(--teal)}.admin-actions button.danger:hover:not(:disabled){border-color:#f8717199;color:#f87171}.admin-actions button:disabled{opacity:.4;cursor:not-allowed}.muted{color:var(--muted);font-size:.85rem}.toolbar-actions button.add-member{border-color:var(--teal-soft);color:var(--teal)}.picker-modal{width:460px}.picker-hint{margin:0 0 12px;line-height:1.4}.picker-search{width:100%;padding:9px 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;font-size:.92rem;margin-bottom:10px}.picker-search:focus{outline:none;border-color:var(--teal-soft);box-shadow:0 0 10px #2dd4bf40}.picker-list{max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.picker-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;padding:8px 12px;border:1px solid transparent;background:var(--bg);color:var(--text);border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}.picker-row:hover{border-color:var(--teal-soft);background:#0d3b36}.picker-name{font-size:.9rem}.picker-pet{color:var(--muted)}.picker-path{font-size:.72rem;color:var(--muted)}.datefield{position:relative}.datefield-input{display:flex;align-items:center;border:1px solid var(--line);background:var(--bg);border-radius:6px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.datefield-input:focus-within{border-color:var(--teal-soft);box-shadow:0 0 10px #2dd4bf38}.datefield-input.invalid{border-color:#f87171}.datefield-input input{flex:1;border:none;background:transparent;color:var(--text);padding:8px 10px;font-size:.9rem;outline:none}.datefield-toggle{border:none;background:transparent;cursor:pointer;font-size:1rem;padding:6px 10px;opacity:.85}.datefield-toggle:hover{opacity:1}.datefield-err{margin:4px 0 0;font-size:.75rem;color:#f87171}.datepop{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:268px;background:var(--bg-elev);border:1px solid var(--teal-faint);border-radius:10px;padding:10px;box-shadow:0 12px 30px #0000008c;animation:detailsIn .15s ease both}.datepop-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.datepop-head .nav{width:30px;height:30px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:6px;cursor:pointer;font-size:1rem;line-height:1}.datepop-head .nav:hover:not(:disabled){border-color:var(--teal-soft);color:var(--teal)}.datepop-head .nav:disabled{opacity:.3;cursor:not-allowed}.datepop-title{display:flex;gap:6px}.datepop-title button{background:transparent;border:none;color:var(--teal);font-size:.9rem;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:6px}.datepop-title button:hover{background:#0d3b36}.datepop-title .static{color:var(--text);font-weight:600;padding:4px 6px}.datepop-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.datepop-weekdays span{text-align:center;font-size:.68rem;color:var(--muted);padding:2px 0}.datepop-grid{display:grid;gap:3px}.datepop-grid.days{grid-template-columns:repeat(7,1fr)}.datepop-grid.months{grid-template-columns:repeat(3,1fr)}.datepop-grid.years{grid-template-columns:repeat(5,1fr)}.datepop-grid .cell{border:1px solid transparent;background:var(--bg);color:var(--text);border-radius:6px;cursor:pointer;font-size:.82rem;padding:7px 0;transition:border-color .12s,background .12s,color .12s}.datepop-grid.months .cell,.datepop-grid.years .cell{padding:10px 0}.datepop-grid .cell:hover:not(:disabled){border-color:var(--teal-soft);color:var(--teal)}.datepop-grid .cell.sel{background:#0d3b36;border-color:var(--teal-soft);color:var(--teal)}.datepop-grid .cell:disabled{opacity:.28;cursor:not-allowed}
