.image-cache-settings{overflow-wrap:anywhere;margin:10px 0;font-size:12px}.image-cache-settings h3{margin:0 0 12px;font-size:1rem}.image-cache-settings label,.login-image-cache-option{align-items:start;gap:6px;margin-top:8px;display:flex}.image-cache-settings input[type=checkbox],.login-image-cache-option input[type=checkbox]{flex:none;width:16px;height:16px;min-height:16px;padding:0}.image-cache-settings small{margin:8px 0;display:block}.image-cache-settings button{font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:6px}.gallery-toolbar{align-items:flex-end;gap:.65rem}.gallery-sort-control{border:1px solid var(--line,#d9e1dd);background:var(--surface,#fff);height:var(--control-height);border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.gallery-sort-control select{min-height:calc(var(--control-height) - 2px);background:0 0;border:0;border-radius:0;margin:0}.gallery-sort-control .button{border:0;border-left:1px solid var(--line,#d9e1dd);min-height:calc(var(--control-height) - 2px);border-radius:0;margin:0}.gallery-sort-control:focus-within{outline:2px solid var(--accent-focus,#397766);outline-offset:2px}.gallery-event-filter{font-size:.85rem;display:grid}.gallery-event-filter select{min-height:var(--control-height)}.gallery-filters{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:end}.gallery-filter-range{grid-column:span 2;display:grid}.gallery-filter-range .form-grid{gap:.5rem}.gallery-filter-range input{width:100%;min-width:0}.gallery-filters .gallery-filter-reset{justify-self:start;min-height:44px}.gallery-filters>*{min-width:0}.gallery-filters .gallery-filter-multi details{min-width:0;position:relative}.gallery-filters .gallery-filter-multi details[open]{z-index:10}.gallery-filters .gallery-filter-choices{z-index:1;background:var(--surface,#fff);border:1px solid var(--line,#d9e1dd);border-radius:10px;position:absolute;top:calc(100% + 4px);left:-1px;right:-1px;box-shadow:0 8px 24px #173e3620}.gallery-filters .gallery-filter-choices input[type=search]{width:100%;min-width:0}.gallery-filters .gallery-filter-choices label{overflow-wrap:anywhere;min-width:0}.gallery-filters .gallery-filter-choices input[type=checkbox]{flex:0 0 18px}@container gallery (width<=600px){.gallery-toolbar>select,.gallery-event-filter{flex:1}.gallery-filters{grid-template-columns:1fr}.gallery-filter-range{grid-column:auto}.capture-date-tools{flex-wrap:wrap;width:100%}.capture-input{flex:1;min-width:120px}.gallery-sort-control{flex:1}}.gallery{container:gallery/inline-size}.gallery .gallery-sort-control{position:relative}.gallery .gallery-sort-control select{appearance:none;background-image:none;border:0;border-radius:0;flex:1;min-width:0}.gallery .gallery-sort-control .button{flex:0 0 var(--control-height);min-width:var(--control-height);width:var(--control-height);background:0 0;padding:0}.gallery .gallery-sort-chevron{right:calc(var(--control-height) + 4px);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.gallery .gallery-toolbar{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:8px;display:grid}.gallery .gallery-toolbar .capture-date-tools{display:contents}.gallery .gallery-toolbar .gallery-kind-filter,.gallery .gallery-toolbar .capture-mode{grid-column:span 3}.gallery .gallery-toolbar .capture-input,.gallery .gallery-toolbar .gallery-event-filter{grid-column:span 2;width:auto;min-width:0}.gallery .gallery-date-day .capture-input,.gallery .gallery-date-day .gallery-event-filter{grid-column:span 3}.gallery .gallery-date-missing .gallery-event-filter{grid-column:span 6}.gallery .gallery-toolbar .gallery-filter-field,.gallery .gallery-toolbar .capture-mode,.gallery .gallery-toolbar .capture-input,.gallery .gallery-toolbar .gallery-event-filter{gap:var(--field-gap);color:var(--muted);flex-direction:column;min-width:0;margin:0;font-size:12px;font-weight:500;line-height:18px;display:flex}.gallery .gallery-toolbar input,.gallery .gallery-toolbar select{height:var(--control-height);min-height:var(--control-height);width:100%;min-width:0;max-width:none;font-size:14px}.gallery .toolbar.gallery-toolbar select{max-width:none}.gallery .gallery-toolbar .gallery-kind-filter,.gallery .gallery-toolbar .capture-mode{width:auto}.gallery .gallery-toolbar label>select{width:100%}.gallery .gallery-toolbar-actions{grid-column:1/-1;grid-template-columns:minmax(146px,1.4fr) repeat(2,minmax(44px,1fr));align-items:end;gap:8px;min-width:0;display:grid}.gallery .gallery-toolbar-actions:has(.gallery-select-toggle){grid-template-columns:minmax(146px,1.4fr) repeat(3,minmax(44px,1fr))}.gallery .gallery-sort-field{width:100%;min-width:0}.gallery .gallery-toolbar .gallery-sort-control{flex:0 0 var(--control-height);width:100%;min-width:0;height:var(--control-height)}.gallery .gallery-sort-control select{height:calc(var(--control-height) - 2px);min-height:calc(var(--control-height) - 2px)}.gallery .gallery-toolbar-actions>.button{height:var(--control-height);min-height:var(--control-height);gap:6px;min-width:44px;padding-inline:10px}.gallery .gallery-toolbar-actions>.button svg{flex-shrink:0}.gallery .gallery-filter-toggle{position:relative}.gallery .gallery-filter-count{background:var(--accent);min-width:18px;height:18px;color:var(--text);border-radius:9px;place-items:center;padding:0 3px;font-size:10px;line-height:1;display:grid;position:absolute;top:-5px;right:-4px}.gallery .capture-mode-control{min-width:0;height:var(--control-height);gap:4px;display:flex;position:relative}.gallery .gallery-toolbar .capture-mode-control>select{appearance:none;background-image:none;flex:1;width:0;padding-right:18px}.gallery .capture-mode-chevron{pointer-events:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.gallery .capture-mode-control:has(.button) .capture-mode-chevron{right:calc(var(--control-height) + 10px)}.gallery .capture-mode-control>.button{flex:0 0 var(--control-height);width:var(--control-height);height:var(--control-height);min-height:var(--control-height);padding:0}.gallery .gallery-filters,.gallery .gallery-bulk-toolbar{margin-top:0;margin-bottom:8px}.gallery .gallery-filters .field{gap:var(--field-gap);margin-bottom:0;font-size:12px;line-height:18px}.gallery .gallery-filters .field>input,.gallery .gallery-filters .field>select,.gallery .gallery-filters .gallery-filter-multi summary{min-height:var(--control-height);font-size:14px}@container gallery (width<=600px){.gallery .gallery-toolbar{gap:10px 6px}.gallery .gallery-toolbar .gallery-kind-filter,.gallery .gallery-toolbar .capture-mode{grid-column:span 6}.gallery .gallery-toolbar .capture-input,.gallery .gallery-toolbar .gallery-event-filter{grid-column:span 4}.gallery .gallery-date-day .capture-input,.gallery .gallery-date-day .gallery-event-filter{grid-column:span 6}.gallery .gallery-date-missing .gallery-event-filter{grid-column:1/-1}.gallery .gallery-toolbar input[type=date]{padding:8px 4px;font-size:12px}.gallery .gallery-toolbar input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}.gallery .gallery-toolbar input[type=date]::-webkit-calendar-picker-indicator{width:12px;margin:0;padding:0}.gallery .gallery-toolbar select{padding-left:8px;font-size:12px}.gallery .gallery-toolbar-actions{grid-template-columns:minmax(110px,1.4fr) repeat(2,minmax(44px,1fr));gap:4px}.gallery .gallery-toolbar-actions:has(.gallery-select-toggle){grid-template-columns:minmax(110px,1.4fr) repeat(3,minmax(44px,1fr))}.gallery .gallery-toolbar-actions>.button{gap:4px;padding-inline:6px;font-size:12px}.gallery .gallery-sort-control select{padding-left:4px;padding-right:12px}.gallery .capture-mode-control>select{background-position:right 4px center;padding-right:18px}.gallery .gallery-filters{grid-template-columns:1fr}.gallery .gallery-filter-range{grid-column:auto}}@container gallery (width<=479.99px){.gallery .gallery-refresh .gallery-action-label{display:none}}@container gallery (width<=399.99px){.gallery .gallery-toolbar-actions>.button{padding-inline:0}.gallery .gallery-toolbar-actions .gallery-action-label{display:none}}@container gallery (width<=360px){.gallery .gallery-date-range input[type=date]{font-size:11px}}@container gallery (width>=1120px){.gallery .gallery-toolbar{grid-template-columns:minmax(72px,1fr) minmax(108px,1fr) repeat(2,minmax(128px,1.15fr)) minmax(80px,1fr) minmax(146px,1.2fr) repeat(2,max-content);gap:8px}.gallery .gallery-toolbar:has(.gallery-select-toggle){grid-template-columns:minmax(72px,1fr) minmax(108px,1fr) repeat(2,minmax(128px,1.15fr)) minmax(80px,1fr) minmax(146px,1.2fr) repeat(3,max-content)}.gallery .gallery-toolbar.gallery-date-day{grid-template-columns:minmax(72px,1fr) minmax(108px,1fr) minmax(128px,1.15fr) minmax(80px,1fr) minmax(146px,1.2fr) repeat(2,max-content)}.gallery .gallery-toolbar.gallery-date-day:has(.gallery-select-toggle){grid-template-columns:minmax(72px,1fr) minmax(108px,1fr) minmax(128px,1.15fr) minmax(80px,1fr) minmax(146px,1.2fr) repeat(3,max-content)}.gallery .gallery-toolbar.gallery-date-missing{grid-template-columns:minmax(72px,1fr) minmax(148px,1.3fr) minmax(80px,1fr) minmax(146px,1.2fr) repeat(2,max-content)}.gallery .gallery-toolbar.gallery-date-missing:has(.gallery-select-toggle){grid-template-columns:minmax(72px,1fr) minmax(148px,1.3fr) minmax(80px,1fr) minmax(146px,1.2fr) repeat(3,max-content)}.gallery .gallery-toolbar .gallery-filter-field,.gallery .gallery-toolbar .capture-mode,.gallery .gallery-toolbar .capture-input,.gallery .gallery-toolbar .gallery-event-filter{gap:var(--field-gap);grid-column:auto}.gallery .gallery-toolbar-actions{display:contents}.gallery .gallery-toolbar input,.gallery .gallery-toolbar select{padding-inline:8px;font-size:13px}.gallery .gallery-toolbar select{background-position:right 6px center;padding-right:24px}.gallery .gallery-toolbar-actions>.button{padding-inline:8px;font-size:13px}}.gallery-photo-region{touch-action:pan-y}.gallery-zoom-region,.gallery-zoom-margin{min-width:0}.gallery-zoom-margin{width:100%}.gallery .virtual-photo-grid .photo-grid{grid-auto-rows:auto;justify-content:start;gap:4px}.gallery .virtual-photo-grid .photo-card{align-self:start;min-width:0;padding:0}.gallery .virtual-photo-grid .photo-preview{aspect-ratio:4/3}.photo-metadata-actions{flex-wrap:wrap;gap:8px;display:flex}.gallery .gallery-grid-skeleton .photo-grid{justify-content:start}.gallery .gallery-grid-skeleton .photo-month-heading{height:24px}.gallery .gallery-day-placeholder{background:var(--line);opacity:.5;border-radius:3px;width:84px;height:8px}.gallery .gallery-placeholder{aspect-ratio:4/3;background:var(--soft,#f5f5f8);border-radius:2px;display:block;position:relative;overflow:hidden}.gallery .gallery-placeholder:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff70,#0000);animation:1.6s ease-in-out .2s infinite gallery-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes gallery-shimmer{to{transform:translate(100%)}}.gallery .gallery-photo-tile{align-self:start;min-width:0;position:relative}.gallery .gallery-photo-tile>.photo-card{width:100%;display:block}.gallery .gallery-thumbnail{background:var(--soft,#f5f5f8)}.gallery .gallery-thumbnail>.gallery-placeholder{aspect-ratio:auto;border-radius:0;position:absolute;inset:0}.gallery .gallery-thumbnail>img{transition:opacity .18s ease-out}.gallery .gallery-image-error{color:var(--muted);text-align:center;font-size:11px;line-height:14px;position:absolute;top:calc(50% - 20px);left:4px;right:4px}.gallery .gallery-image-retry{border:1px solid var(--line);background:var(--surface);max-width:calc(100% - 8px);height:24px;min-height:24px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:5px;padding:0 6px;font-size:11px;line-height:22px;position:absolute;top:calc(50% - 3px);left:50%;transform:translate(-50%)}.gallery .gallery-image-retry:hover{background:var(--accent-soft);border-color:var(--accent-line)}.gallery .gallery-image-retry:focus-visible,.gallery .gallery-photo-tile:focus-visible{outline:2px solid var(--accent-focus);outline-offset:1px}.gallery .gallery-blocked-label{background:var(--tone-gray-bg);max-width:calc(100% - 4px);color:var(--tone-gray-text);border-radius:2px;padding:1px 3px;font-size:9px;inset:2px auto auto 2px}.gallery .gallery-loading-notice{min-height:20px;color:var(--muted);margin:0 0 6px;font-size:12px;line-height:20px}@media (prefers-reduced-motion:reduce){.gallery .gallery-placeholder:after{content:none;animation:none}.gallery .gallery-thumbnail>img{transition:none}}.gallery .gallery-toolbar input,.gallery .gallery-toolbar select,.gallery .gallery-toolbar-actions>.button{padding-block:var(--control-padding-block)}.gallery .gallery-toolbar .gallery-sort-control select{height:calc(var(--control-height) - 2px);min-height:calc(var(--control-height) - 2px)}.gallery .gallery-sort-control .button{height:calc(var(--control-height) - 2px);min-height:calc(var(--control-height) - 2px);padding-block:0}.gallery .capture-mode-control>.button{padding-block:0}.contact-selection-tools{background:var(--accent-soft);margin:0 0 18px;margin-bottom:var(--section-gap);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;padding-block:10px;display:flex}.contact-selection-tools>strong{margin-right:auto;font-size:13px}.contact-selection-tools .button,.contact-selection-tools .check{min-height:var(--control-height)}.contact-select-cell{width:48px}.contact-select-cell input,.contact-card-choice input{cursor:pointer;width:18px;height:18px}.contact-select-cell label{min-height:var(--control-height);justify-content:center;align-items:center;min-width:44px;display:flex}.contact-card-choice{cursor:pointer;align-items:center;gap:8px;min-height:44px;margin-bottom:8px;font-size:13px;display:flex}.member-contact-actions{flex-wrap:nowrap;justify-content:center;gap:8px;display:flex}.member-contact-actions .button{min-height:var(--control-height);white-space:nowrap;min-width:0;padding-inline:12px}.member-contact-actions .button svg{flex-shrink:0}.contact-share-dialog{max-height:90dvh}.contact-share-dialog .dialog-body{min-width:0;padding-block:var(--dialog-body-space)}.contact-share-dialog .button{min-height:var(--control-height)}.contact-share-dialog .dialog-head .icon-button{min-width:var(--control-height);min-height:var(--control-height)}.contact-share-targets h3{margin:0 0 8px;font-size:14px}.contact-share-targets ul{max-height:180px;margin:0 0 18px;margin-bottom:var(--section-gap);padding:0;list-style:none;overflow:auto}.contact-share-targets li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:4px 0;display:flex}.contact-share-targets li>div{overflow-wrap:anywhere;min-width:0}.contact-share-targets strong{font-size:13px}.contact-share-targets small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.contact-share-targets .button{flex-shrink:0;min-width:44px}.contact-share-fields{border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;gap:6px 18px;padding:8px 14px;display:flex}.contact-share-fields legend{padding:0 5px;font-size:13px}.contact-share-fields .check{min-height:var(--control-height);margin:0}.contact-share-hint{color:var(--muted);overflow-wrap:anywhere;margin:12px 0 18px;margin-block:8px var(--section-gap);font-size:12px;line-height:1.7}.contact-file-actions,.contact-text-actions{flex-wrap:wrap;gap:8px;display:flex}.contact-share-dialog textarea{white-space:pre-wrap;overflow-wrap:anywhere;min-height:150px;font-size:13px;line-height:1.65}.contact-share-notice{color:#386c4e;overflow-wrap:anywhere;background:#eef5ee;border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:13px}.contact-mobile-label{display:none}@media (width<=700px){.contact-desktop-label{display:none}.contact-mobile-label{display:inline}.contact-share-dialog{width:calc(100% - 20px);max-height:94dvh}.contact-share-dialog .dialog-body{padding:16px;padding-block:var(--dialog-body-space)}.contact-selection-tools{margin-bottom:var(--section-gap);padding:10px;padding-block:10px}.contact-file-actions>.button,.contact-text-actions>.button{flex:auto}.contact-share-fields{gap:4px 14px}.contact-share-hint{margin-block:8px var(--section-gap);font-size:12px}.contact-share-targets ul{max-height:150px;margin-bottom:var(--section-gap)}}.tag-picker.field{flex-direction:column;gap:12px;min-width:0;display:flex}.tag-picker>legend{padding:0}.tag-picker>.button{align-self:flex-start}.tag-picker-choices:empty{display:none}.tag-picker-choices label{overflow-wrap:anywhere;max-width:100%}.tag-picker-choices input[type=checkbox]{flex-shrink:0}.tag-picker-inline{border:1px solid var(--line);background:var(--surface-soft,#f6faf8);border-radius:12px;gap:12px;padding:16px;display:grid}.tag-picker .tag-picker-inline>.field{margin:0}.tag-picker-inline input{width:100%;min-width:0}.tag-picker-actions{flex-wrap:wrap;gap:8px;display:flex}.tag-picker :is(p,small){margin:0}.reactEasyCrop_Container{-webkit-user-select:none;user-select:none;touch-action:none;cursor:move;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.reactEasyCrop_Image,.reactEasyCrop_Video{will-change:transform;max-width:unset}.reactEasyCrop_Contain{max-width:100%;max-height:100%;margin:auto;position:absolute;inset:0}.reactEasyCrop_Cover_Horizontal{width:100%;height:auto}.reactEasyCrop_Cover_Vertical{width:auto;height:100%}.reactEasyCrop_CropArea{box-sizing:border-box;color:#00000080;border:1px solid #ffffff80;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 9999em}.reactEasyCrop_CropAreaRound{border-radius:50%}.reactEasyCrop_CropAreaGrid:before{content:" ";box-sizing:border-box;border:0;border-left:1px solid #ffffff80;border-right:1px solid #ffffff80;position:absolute;inset:0 33.33%}.reactEasyCrop_CropAreaGrid:after{content:" ";box-sizing:border-box;border:1px solid #ffffff80;border-left:0;border-right:0;position:absolute;inset:33.33% 0}.family-person-card{box-sizing:border-box;border:1px solid var(--line,#e2e3e9);color:var(--text,#292936);text-align:center;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px 12px;display:flex;box-shadow:0 2px 5px #28233606}.family-person-photo{flex:none;justify-content:center;align-items:center;display:flex;overflow:visible}.family-person-card .avatar.family-portrait{flex-shrink:0;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;margin:0;display:flex}.family-person-copy{flex-direction:column;flex-shrink:0;align-items:stretch;gap:2px;width:100%;min-width:0;display:flex}.family-person-name,.family-person-title{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.family-person-name{color:var(--text,#292936);font-size:16px;font-weight:650;line-height:19px}.family-person-title{color:var(--muted,#787887);font-size:13px;font-weight:400;line-height:15px}.family-person-rank{color:var(--accent-text,#397766);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:400;line-height:14px;display:block;overflow:hidden}.family-person-card.focused{border-color:var(--accent-focus,#397766);box-shadow:0 0 0 2px var(--accent-soft,#eff7f4)}.family-person-card.temporary{border-style:dashed}.family-person-card.temporary .avatar{color:#90909b;background:#f4f4f5!important}.avatar{isolation:isolate;position:relative;overflow:visible;border-radius:50%!important}.avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar .person-silhouette{stroke-width:1.4px;fill:currentColor;fill-opacity:.12;width:70%;height:70%}.avatar.deceased{color:#707070}.avatar.deceased img{filter:grayscale()}.member-photo-field{margin:0 0 18px;margin-bottom:var(--field-space)}.member-photo-field h3{margin-bottom:10px;font-size:14px}.portrait-actions{align-items:center;gap:16px;display:flex}.portrait-actions .button{padding:8px 10px;padding-block:var(--control-padding-block);margin:2px}.portrait-dialog{width:min(760px,95vw)}.portrait-dialog .dialog-body{padding:20px;padding-block:var(--dialog-body-space)}.portrait-editor{grid-template-columns:minmax(0,1fr) 192px;gap:20px;display:grid}.portrait-crop{aspect-ratio:1;touch-action:none;background:#202020;min-width:0;position:relative}.portrait-previews{flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.portrait-previews p{margin:0;font-size:14px}.portrait-previews small{color:var(--muted);font-size:12px}.portrait-zoom{margin-top:16px;margin-top:var(--section-gap-tight);align-items:center;gap:16px;display:flex}.portrait-zoom input{width:100%;min-height:var(--control-height)}.portrait-dialog .dialog-footer .button{min-height:var(--control-height);padding-block:var(--control-padding-block)}@media (width<=600px){.portrait-editor{grid-template-columns:1fr;gap:14px}.portrait-previews{flex-flow:wrap;gap:12px}.portrait-previews p,.portrait-previews small{text-align:center;width:100%}.portrait-dialog .dialog-body{padding:12px;padding-block:var(--dialog-body-space)}.portrait-actions{gap:10px}.portrait-actions .button{min-height:var(--control-height);padding-block:var(--control-padding-block)}.portrait-crop{max-height:45dvh}}.portrait-zoom{white-space:nowrap;margin-top:var(--section-gap-tight)}.portrait-zoom input{flex:1;width:auto;min-width:0}.avatar .mourning-ribbon{z-index:2;clip-path:none;pointer-events:none;background:0 0;width:108%;min-width:0;height:36%;min-height:0;position:absolute;top:-5%;left:-4%;right:auto;overflow:visible;transform:none}:root{color:#263c37;font-synthesis:none;--teal:#69aa99;--teal-dark:#5f9e8d;--muted:#7a8780;--line:#e8eeeb;--surface:#fff;--pale:#edf4ef;--shadow:0 6px 24px #14382b06;background:#f6f8f7;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button{color:inherit}a{color:inherit;text-decoration:none}button,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid #318574}input:focus,select:focus,textarea:focus{border-color:#5f9381;outline:2px solid #2f74604d}input,select,textarea{color:#293e36;background:#fff;border:1px solid #dce5df;border-radius:9px;min-width:0;max-width:100%;padding:10px 12px}textarea{resize:vertical;line-height:1.8}input[type=checkbox]{accent-color:var(--teal);flex-shrink:0;width:17px;height:17px;padding:0}input[type=color]{width:70px;height:44px;padding:5px}input[readonly]{color:#78857e;background:#f2f5f3}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.055em;margin-bottom:8px;font-size:1.65rem;font-weight:700;line-height:1.45}h2{letter-spacing:-.025em;margin-bottom:0;font-size:1.04rem;font-weight:700}h3{margin-bottom:8px;font-size:1rem}small{color:var(--muted);font-size:.8125rem;line-height:1.65}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:10px;padding:0;font-size:.875rem;font-weight:500}table{border-collapse:collapse;text-align:left;width:100%}th{color:#7d8d82;white-space:nowrap;background:#f8faf9;font-size:.8125rem;font-weight:500}th,td{border-bottom:1px solid var(--line);padding:17px 20px}td{font-size:.875rem}td small{margin-top:4px;display:block}tbody tr:last-child td{border-bottom:0}td strong{font-weight:600}svg{vertical-align:middle;stroke-width:1.7px;flex-shrink:0}.muted{color:var(--muted)}p.muted{margin-bottom:0;font-size:.875rem}.eyebrow{letter-spacing:.17em;color:#819487;margin-bottom:8px;font-size:.75rem;font-weight:700}.right{text-align:right}.nowrap{white-space:nowrap}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:#fff;padding:14px;position:fixed;top:-100px;left:280px}.skip-link:focus{top:10px}.full-width{width:100%}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:.875rem;font-weight:500;transition:background .15s,transform .15s;display:inline-flex}.button.primary{background:var(--action);color:var(--action-text);box-shadow:0 2px 4px #1f51471a}.button.primary:hover{background:var(--action-hover)}.button.secondary{color:#526258;background:#fff;border-color:#dee6e0}.button.secondary:hover{background:#f3f7f4}.button.ghost{color:#65786c;background:0 0;padding:8px 10px}.button.ghost:hover{background:var(--pale)}.button.danger{color:#fff;background:#a94b41}.icon-button{color:#86918a;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-button:hover{color:#244f3d;background:#eef3ef}.text-button{color:#74877a;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:.8125rem;font-weight:500;display:inline-flex}.text-button:hover{color:var(--accent-text)}.badge{color:#327050;white-space:nowrap;background:#e8f2e9;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge.neutral{color:#76847b;background:#f0f3f1}.badge.amber{color:#906725;background:#fff2db}.count{color:#8c9a91;margin-left:9px;font-size:.8125rem;font-weight:500}.avatar{color:#567366;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.8125rem;font-weight:600;display:inline-flex}.avatar.small{border-radius:10px;width:33px;height:33px;font-size:.75rem}.avatar.tiny{border-radius:50%;width:26px;height:26px;font-size:.6rem}.avatar.large{border-radius:25px;width:76px;height:76px;font-size:1.25rem}.brand-mark{background:var(--teal-dark);width:36px;height:36px;color:var(--text);letter-spacing:-.12em;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;padding-right:4px;font-family:Arial,sans-serif;font-size:1.7rem;font-weight:800;display:inline-flex}.brand{letter-spacing:-.04em;align-items:center;gap:10px;font-family:Arial,sans-serif;font-size:1.35rem;font-weight:700;line-height:1.1;display:flex}.brand-sub{color:#7f9489;letter-spacing:.035em;margin-top:5px;font-size:.75rem;font-weight:400;display:block}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:224px;min-width:224px;height:100vh;padding:32px 18px 18px;display:flex;position:sticky;top:0}.sidebar .brand{margin-bottom:34px;padding-left:12px}.workspace-selector{border:1px solid var(--line);border-radius:9px;align-items:center;gap:9px;margin-bottom:29px;padding:12px 8px;display:flex}.workspace-icon{color:#5b7868;background:#eff5ef;border-radius:7px;justify-content:center;align-items:center;width:32px;height:34px;display:flex}.workspace-selector strong{font-size:.8125rem;font-weight:600;display:block}.workspace-selector small{font-size:.75rem;display:block}.workspace-selector>svg{color:#8fa097;margin-left:auto}.nav-label{letter-spacing:.15em;color:#a3afa7;margin-bottom:11px;padding-left:15px;font-size:.75rem}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav button,.nav-settings{color:#7e8a83;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px 15px;font-size:.875rem;font-weight:500;display:flex}.sidebar nav button.active,.nav-settings.active{color:#2a5e45;background:#eaf2ec}.sidebar nav button.active:before{content:"";background:#387153;border-radius:0 2px 2px 0;width:3px;height:16px;position:absolute;left:0}.nav-count{color:#517358;background:#dce8dc;border-radius:5px;margin-left:auto;padding:0 6px;font-size:.75rem}.sidebar-bottom{margin-top:auto}.nav-settings{margin-bottom:20px}.user-card{border-top:1px solid var(--line);align-items:center;gap:9px;padding:20px 4px 0;display:flex}.user-card strong,.user-card small{font-size:.75rem;display:block}.user-card .icon-button{margin-left:auto}.workspace{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:75px;padding:0 34px;display:flex}.breadcrumbs{align-items:center;gap:14px;font-size:.8125rem;display:flex}.breadcrumbs>span{color:#94a298}.breadcrumbs strong{color:#5b6e61;font-weight:500}.topbar-right{align-items:center;gap:18px;display:flex}.top-date{color:#8b9990;letter-spacing:.04em;font-size:.75rem}.mobile-toggle{display:none}.main{max-width:1700px;margin:auto;padding:32px 34px 60px}.main:focus{outline:0}.dashboard-page{max-width:none;padding:0}.heading-count{color:#96a69b;letter-spacing:0;margin-left:12px;font-size:1rem;font-weight:500}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;min-width:0;padding:24px}.section-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;display:flex}.section-title h2,.section-title h3{margin:0}.empty{color:#8da093;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:160px;padding:32px 18px;font-size:.875rem;display:flex}.empty p{margin:5px 0 12px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.toolbar>select{color:#657c6d;min-height:43px;padding-right:28px;font-size:.8125rem}.toolbar>.muted{font-size:.8125rem}.toolbar-spacer{flex:1}.search{color:#9aaba0;background:#fff;border:1px solid #e0e8e2;border-radius:8px;align-items:center;gap:9px;min-width:240px;max-width:100%;padding:0 13px;display:flex;position:relative}.search input{background:0 0;border:0;outline:none;width:100%;padding:11px 0;font-size:.8125rem}.search:focus-within{outline:2px solid #2f74604d}.search button{color:#8c9b91;background:0 0;border:0;padding:0;display:flex}.segmented{background:#eef2ee;border:1px solid #e5ebe6;border-radius:8px;align-items:center;gap:3px;padding:3px;display:flex}.segmented button{color:#849286;background:0 0;border:0;border-radius:5px;min-height:33px;padding:6px 14px;font-size:.8125rem}.segmented button[aria-pressed=true]{color:#2c6245;background:#fff;box-shadow:0 1px 5px #29473812}.segmented.compact button{padding:6px 9px}.chips{flex-wrap:wrap;gap:6px;display:flex}.table-panel{padding:0;overflow:auto}.table-footer{color:#96a398;border-top:1px solid var(--line);padding:16px 22px;font-size:.75rem}.name-cell{background:0 0;border:0;align-items:center;gap:11px;min-width:100px;padding:0;display:flex}.name-cell:hover strong{color:#3b8261}.name-cell strong{font-size:.875rem}.member-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px}.member-card-main{text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.member-card-main p{color:#7d8f82;margin-bottom:14px;font-size:.875rem}.member-card-main>span:last-child{color:#8c9e91;font-size:.8125rem}.member-card .chips{min-height:24px;margin:18px 0}.member-card .row-actions{border-top:1px solid var(--line);padding-top:10px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 260px;display:grid}.welcome-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:27px;display:flex}.welcome-row h1{font-size:1.5rem}.welcome-row p.muted{font-size:.8125rem}.stat{text-align:left;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:19px 20px;transition:transform .15s}.stat:hover{transform:translateY(-2px)}.stat-top{color:#8b998f;justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;display:flex}.stat-top svg{color:#90a99a;width:17px;height:17px}.stat-value{letter-spacing:-.025em;white-space:nowrap;margin:14px 0 12px;font-family:Arial,Noto Sans KR,sans-serif;font-size:1.6rem;font-weight:600;line-height:1.4}.stat-value>span{color:#92a093;margin-left:5px;font-family:Noto Sans KR,sans-serif;font-size:.75rem;font-weight:400}.stat p{color:#778b7e;margin:0;font-size:.75rem}.dashboard-pair>.panel+.panel{margin-top:0}.featured-anniversary{color:#f4f7f0;background:linear-gradient(110deg,#204e40,#456c50);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:24px 22px;display:flex}.featured-label{letter-spacing:.13em;color:#c0d5b6;align-items:center;gap:5px;font-size:.75rem;display:flex}.featured-anniversary h2{letter-spacing:-.05em;margin:12px 0;font-size:1.2rem;font-weight:500;line-height:1.7}.featured-anniversary p{color:#d7e1cc;margin:0;font-size:.75rem}.featured-anniversary p span{color:#b2c4a9}.dday-large{white-space:nowrap;letter-spacing:-.05em;color:#eaf1d0;font-family:Arial,sans-serif;font-size:2.5rem;font-weight:400}.dday-large span{letter-spacing:0;text-align:center;color:#bccfb0;margin-top:7px;font-family:Noto Sans KR,sans-serif;font-size:.75rem;font-weight:400;display:block}.compact-list{flex-direction:column;display:flex}.compact-row{border-bottom:1px solid #f0f3ef;align-items:center;gap:12px;padding:17px 0;display:flex}.compact-row:last-child{border-bottom:0;padding-bottom:0}.compact-row>div{flex:1;min-width:0}.compact-row>div strong{font-size:.8125rem;font-weight:500;display:block}.compact-row small{margin-top:3px;font-size:.75rem;display:block}.compact-row>.row-actions{flex:0}.soft-icon{color:#90a47d;background:#f3f5ee;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.agenda-list{flex-direction:column;display:flex}.agenda-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #edf2ed;align-items:center;gap:14px;width:100%;padding:19px 0;display:flex}.agenda-row:first-child{padding-top:6px}.agenda-row:last-child{border-bottom:0;padding-bottom:6px}.agenda-row>div:nth-child(2){flex:1;min-width:0}.agenda-row strong{font-size:.8125rem;font-weight:500;display:block}.agenda-row small{margin-top:5px;font-size:.75rem;display:block}.date-square{text-align:center;background:#fafbf7;border:1px solid #e6ebe1;border-radius:8px;width:43px;min-width:43px;padding:4px 0 5px}.date-square small{color:#90a083;margin:0;font-size:.75rem;line-height:1.3}.date-square strong{color:#6d7e5b;font-family:Arial,sans-serif;font-size:1.18rem;font-weight:500;line-height:1.5}.subtle-status{color:#95a38c;white-space:nowrap;font-size:.75rem}.recent-events{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.recent-event{border:0;border-right:1px solid var(--line);text-align:left;background:0 0;gap:12px;min-width:0;padding:0 17px 0 0;display:flex}.recent-event:last-child{border:0}.event-icon{color:#92a482;background:#eff3ed;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:42px;display:flex}.recent-event>div:last-child{min-width:0}.recent-event small{font-size:.75rem}.recent-event h3{margin:8px 0;font-size:.875rem;font-weight:500}.recent-event p{color:#929e93;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin-bottom:17px;font-size:.75rem;line-height:1.8;display:-webkit-box;overflow:hidden}.avatar-stack{padding-left:3px;display:flex}.avatar-stack .avatar{border:2px solid #fff;border-radius:50%;width:26px;height:26px;margin-left:-3px;font-size:.5rem}.dashboard-aside{border-left:1px solid var(--line);background:#fdfefd;min-height:calc(100vh - 75px);padding:32px 24px}.today-block{border-bottom:1px solid var(--line);padding:10px 0 25px}.today-block>span{color:#778b7e;letter-spacing:.18em;font-size:.75rem}.today-block h2{margin:9px 0 2px;font-size:1.6rem;font-weight:500}.today-block p{color:#778b7e;margin:0;font-size:.75rem}.aside-calendar{border-bottom:1px solid var(--line);padding:25px 0}.aside-calendar h3{text-align:center;margin-bottom:15px;font-size:.8125rem;font-weight:500}.mini-days{grid-template-columns:repeat(7,1fr);row-gap:8px;display:grid}.mini-days button{aspect-ratio:1;color:#697e66;background:0 0;border:0;border-radius:50%;width:27px;height:27px;margin:auto;padding:0;font-family:Arial,sans-serif;font-size:.75rem;position:relative}.mini-days button i{background:#729c66;border-radius:50%;width:2px;height:2px;display:block;position:absolute;bottom:1px;left:calc(50% - 1px)}.aside-family{padding-top:25px}.aside-family .section-title{margin-bottom:18px}.aside-family h2{font-size:.875rem}.family-shortcut{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:10px 0;display:flex}.family-shortcut .avatar{border-radius:10px;width:34px;height:34px;font-size:.75rem}.family-shortcut strong{font-size:.75rem;font-weight:500;display:block}.family-shortcut small{font-size:.75rem;display:block}.family-shortcut>svg{color:#b0bcaf;margin-left:auto}.aside-note{border-top:1px solid var(--line);color:#93a78c;margin-top:25px;padding-top:25px;font-size:.75rem;line-height:1.9}.aside-note p{margin-top:10px;margin-bottom:0}.anniversary-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px;display:grid}.anniversary-card{background:linear-gradient(150deg,#f0f6ec,#fdfefa);border:1px solid #d9e5d7;border-radius:12px;padding:24px}.anniversary-card-top{color:#97ac71;justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.anniversary-card>p{color:#6f866b;margin-bottom:5px;font-size:.875rem}.anniversary-card h2{margin-bottom:13px;font-size:1.2rem}.anniversary-card-bottom{border-top:1px solid #e0e8d9;justify-content:space-between;align-items:center;margin-top:24px;padding-top:15px;display:flex}.anniversary-card-bottom>span{color:#98a78e;font-size:.75rem}.month-nav{align-items:center;gap:7px;display:flex}.month-nav h2{text-align:center;min-width:145px;font-size:1.05rem}.calendar-event{text-overflow:ellipsis;white-space:nowrap;color:#5d7b4c;text-align:left;background:#edf4e6;border:0;border-left:2px solid #99b380;border-radius:3px;width:100%;min-height:26px;margin:4px 0;padding:4px 6px;font-size:.75rem;display:block;overflow:hidden}.calendar-event.timed{color:#889479;background:#f4f6f1;border-color:#b5c2a8}.calendar-event span{opacity:.8;font-size:.75rem}.legend-dot{background:#90b576;border-radius:50%;width:7px;height:7px;display:inline-block}.gift-summary{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr 1fr .7fr;margin-bottom:26px;padding:26px 32px;display:grid}.gift-summary>div{border-right:1px solid var(--line);padding-left:35px}.gift-summary>div:first-child{padding-left:0}.gift-summary>div:last-child{border:0}.gift-summary>div>span{color:#8b9b8b;align-items:center;gap:6px;margin-bottom:10px;font-size:.8125rem;display:flex}.gift-summary strong{letter-spacing:-.04em;font-family:Arial,Noto Sans KR,sans-serif;font-size:1.7rem;font-weight:500}.gift-summary small{margin-left:6px;font-size:1rem}.memo-cell{max-width:240px}.memo-cell small{white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.money{font-family:Arial,Noto Sans KR,sans-serif;font-size:.875rem;font-weight:600}.filter-panel{background:#f1f6ed;border:1px solid #dce8d7;border-radius:10px;margin-bottom:22px;padding:24px}.filter-panel fieldset{margin-bottom:19px}.filter-checks{flex-wrap:wrap;gap:10px 18px;display:flex}.filter-checks label{align-items:center;gap:5px;font-size:.8125rem;display:flex}.filter-inputs label{flex-direction:column;gap:6px;font-size:.75rem;display:flex}.filter-inputs input{width:100%}.filter-dot{background:#adc199;border-radius:50%;width:5px;height:5px}.timeline{max-width:920px;margin:34px auto}.timeline-month{align-items:center;gap:13px;margin:34px 0 25px 79px;display:flex}.timeline-month>span{color:#a0ae97;font-family:Arial,sans-serif;font-size:.75rem}.timeline-month h2{font-size:1.2rem;font-weight:500}.timeline-item{grid-template-columns:48px 30px 1fr;gap:14px;padding-bottom:24px;display:grid;position:relative}.timeline-date{text-align:right;flex-direction:column;padding-top:18px;display:flex}.timeline-date strong{color:#7d9170;font-family:Arial,sans-serif;font-size:1.5rem;font-weight:400;line-height:1.2}.timeline-date span{color:#a8b69e;font-size:.75rem}.timeline-dot{background:#a9be98;border:2px solid #f6f8f7;border-radius:50%;width:8px;height:8px;margin:25px auto 0;position:relative;box-shadow:0 0 0 3px #e8efdf}.timeline-item:before{content:"";background:#e2eadc;width:1px;height:100%;position:absolute;top:27px;left:77px}.timeline-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:24px 26px}.timeline-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.timeline-card h2{font-size:1.1rem;font-weight:600}.timeline-card p{white-space:pre-wrap;color:#829075;margin:18px 0;font-size:.875rem;line-height:1.9}.event-meta{color:#a0ad94;flex-wrap:wrap;gap:18px;margin-top:10px;font-size:.75rem;display:flex}.event-meta span{align-items:center;gap:5px;display:flex}.event-members{flex-wrap:wrap;gap:14px;margin-top:22px;display:flex}.event-members>span{color:#869877;align-items:center;gap:6px;font-size:.75rem;display:flex}.settings-layout{flex-direction:column;gap:23px;display:flex}.settings-layout>.panel+.panel{margin-top:0}.settings-grid .panel{padding:22px}.settings-grid .panel+.panel{margin-top:0}.settings-facts small{margin-bottom:8px;display:block}.settings-facts strong{font-size:.875rem;font-weight:500}.option-list{margin-top:23px}.option-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:46px;padding:7px 0;font-size:.875rem;display:flex}.option-row:last-child{border-bottom:0}.option-row>i{border-radius:50%;flex-shrink:0;width:7px;height:7px}.option-row>.row-actions,.option-row>.badge{margin-left:auto}.connection-empty{color:#778b7e;align-items:center;gap:12px;padding:26px 0;font-size:.875rem;display:flex}.google-g{color:#577967;border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;width:39px;height:39px;font-family:Arial,sans-serif;font-size:1.2rem;font-weight:700;display:flex}.settings-layout .panel>p.muted{margin-bottom:16px}.settings-layout .form-hint{margin-top:16px}dialog{border:1px solid var(--line);color:#324b3a;background:#fff;border-radius:14px;width:min(510px,100vw - 32px);max-height:90vh;padding:0;overflow:hidden;box-shadow:0 24px 100px #102f2630}dialog[open]{flex-direction:column;display:flex}dialog.wide{width:min(720px,100vw - 32px)}dialog.drawer{border-right:0;border-radius:14px 0 0 14px;width:540px;max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;animation:.2s ease-out slide}@keyframes slide{0%{opacity:.6;transform:translate(35px)}to{opacity:1;transform:translate(0)}}.dialog-head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:23px 28px;display:flex}.dialog-head h2{font-size:1.08rem}.dialog-body{flex:1;min-height:0;padding:26px 28px;overflow:auto}.dialog-body>p{font-size:.9375rem}.dialog-footer{border-top:1px solid var(--line);background:#fdfefc;flex-shrink:0;justify-content:flex-end;gap:10px;padding:18px 28px;display:flex}.editor-form{flex-direction:column;flex:1;min-height:0;display:flex}.field{flex-direction:column;gap:8px;min-width:0;margin-bottom:20px;font-size:.8125rem;font-weight:500;display:flex}.field>input,.field>select,.field>textarea{width:100%;font-size:.9375rem;font-weight:400}.field small{font-size:.75rem;font-weight:400}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.check{color:#6f8262;align-items:center;gap:8px;margin:0 0 22px;font-size:.8125rem;display:flex}.form-section-title{text-transform:uppercase;letter-spacing:.03em;color:#8a9e7f;border-bottom:1px solid var(--line);margin:25px 0 20px;padding-bottom:10px;font-size:.75rem}.form-hint{color:#99a791;margin:8px 0 15px;font-size:.75rem;line-height:1.8}.tag-choices{flex-wrap:wrap;gap:10px;display:flex}.tag-choice{border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;padding:5px 9px;font-size:.75rem;font-weight:400;display:flex}.choice-grid{flex-wrap:wrap;gap:8px;display:flex}.member-choice{background:#fff;border:1px solid #e3ebde;border-radius:9px;align-items:center;gap:7px;padding:9px 11px;font-size:.8125rem;font-weight:400;display:flex}.member-choice input{width:14px;height:14px}.member-choice .avatar.small{border-radius:8px;width:25px;height:25px;font-size:.5rem}.note-editor{border:1px solid var(--line);background:#fbfcf8;border-radius:10px;margin-bottom:12px;padding:13px}.note-header{gap:8px;margin-bottom:8px;display:flex}.note-header input{width:100%;font-size:.875rem}.note-editor textarea{background:0 0;border:0;width:100%;min-height:90px;font-size:.875rem}.editor-form>.dialog-body>.segmented{margin-bottom:24px}.editor-form>.dialog-body>.segmented button{flex:1}.error{color:#995e4e;background:#fff0ec;border:1px solid #efd5cb;border-radius:8px;margin:14px 0;padding:12px 15px;font-size:.8125rem;line-height:1.8}.info{color:#70865c;background:#eff4e9;border:1px solid #e0e9d4;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:14px;font-size:.8125rem;display:flex}.info svg{margin-top:3px}.info small{color:#94a381;margin-top:5px;display:block}.member-profile{text-align:center;padding:8px 0 25px}.member-profile h1{margin-top:14px;margin-bottom:2px;font-size:1.5rem}.member-profile p{color:#899b7a;margin-bottom:17px;font-size:.875rem}.profile-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:28px;padding:20px 0}.profile-facts p{color:#8b9a7d;align-items:center;gap:12px;margin-bottom:12px;font-size:.875rem;display:flex}.profile-facts p:last-child{margin-bottom:0}.detail-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 0;display:flex}.detail-row>div:first-child{flex:1}.detail-row strong{font-size:.875rem;font-weight:500;display:block}.detail-row small{margin-top:2px;display:block}.dialog-body>.section-title{margin-top:27px;margin-bottom:10px}.note-card{background:#f4f7ee;border:1px solid #e5ecd9;border-radius:9px;margin:14px 0;padding:18px}.note-card h3{font-size:.875rem;font-weight:600}.note-card p{white-space:pre-wrap;color:#8b9b7a;margin-bottom:0;font-size:.8125rem;line-height:1.8}.detail-event{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:14px 0;display:flex}.detail-event span{color:#9aaa8b;font-size:.75rem}.detail-event strong{flex:1;font-size:.8125rem;font-weight:500}.toast{z-index:90;color:#f4f6ef;background:#264c37;border:1px solid #427251;border-radius:11px;align-items:center;gap:12px;max-width:90vw;padding:12px 14px 12px 20px;font-size:.8125rem;display:flex;position:fixed;bottom:28px;left:calc(50% + 90px);transform:translate(-50%);box-shadow:0 7px 28px #18362230}.toast .icon-button{color:#aec29b;flex-shrink:0}.loading-screen{color:#8a9c80;flex-direction:column;justify-content:center;align-items:center;gap:25px;height:100vh;font-size:.875rem;display:flex}.loading-screen .brand-mark{width:54px;height:54px;font-size:2rem}.login-page{background:#fcfdfa;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh;display:grid}.login-form-wrap{justify-content:center;align-items:center;padding:45px 30px;display:flex}.login-form{width:100%;max-width:390px}.login-form .field{margin-bottom:20px;font-size:.8125rem}.login-form .field input{background:#fff;padding:13px 14px;font-size:.875rem}.login-form .button[type=submit]{margin-top:7px;padding:13px}@media (width>=1600px){.dashboard-main{padding:40px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 300px}.dashboard-aside{padding:40px 30px}.stat-value{font-size:2rem}.welcome-row h1{font-size:1.8rem}.featured-anniversary{padding:28px}.featured-anniversary h2{font-size:1.4rem}}@media (width<=1280px){.sidebar{width:200px;min-width:200px;padding-left:12px;padding-right:12px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 230px}.dashboard-main{padding:26px 22px}.dashboard-aside{padding:28px 20px}.main:not(.dashboard-page){padding:26px 24px}.stat{padding:15px 12px}.stat-value{font-size:1.35rem}.stat-top{font-size:.75rem}.welcome-row h1{font-size:1.25rem}.welcome-row .button{padding:8px 12px;font-size:.75rem}.dashboard-pair .panel{padding:18px}.dashboard-pair .section-title h2{font-size:.875rem}.dashboard-pair .text-button{font-size:.75rem}.featured-anniversary{padding:20px 15px}.featured-anniversary h2{font-size:1.05rem}.dday-large{font-size:2rem}.subtle-status{display:none}.recent-events{gap:12px}.recent-event{gap:8px;padding-right:10px}.event-icon{width:30px;height:33px}.event-icon svg{width:17px}.settings-grid>.panel:last-child{grid-column:1/-1}}@media (width<=1050px){.dashboard-layout{display:block}.dashboard-aside{display:none}.dashboard-main{padding:28px}.welcome-row h1{font-size:1.5rem}.stat-value{font-size:1.6rem}.anniversary-grid{grid-template-columns:1fr 1fr}.timeline-card{padding:21px}.gift-summary{padding:22px}.gift-summary strong{font-size:1.4rem}.gift-summary>div{padding-left:22px}}@media (width<=760px){:root{font-size:16px}.sidebar{width:232px;height:100dvh;transition:left .2s;position:fixed;top:0;left:-250px}.sidebar.open{left:0}.nav-backdrop{z-index:29;background:#203d2855;position:fixed;inset:0}.topbar{height:65px;padding:0 18px}.mobile-toggle{margin-right:8px;display:flex}.topbar-right{gap:6px;margin-left:auto}.breadcrumbs{gap:9px;font-size:.75rem}.top-date{display:none}.main:not(.dashboard-page),.dashboard-main{padding:24px 18px 40px}.welcome-row{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:22px}.welcome-row h1{font-size:1.45rem}.welcome-row .button{align-self:flex-end;margin-top:-5px;padding:9px 13px;font-size:.8125rem}.stat{padding:18px}.stat-top{font-size:.75rem}.stat-value{font-size:1.65rem}.stat p{font-size:.75rem}.dashboard-pair .panel{padding:22px}.dashboard-pair .section-title h2{font-size:1rem}.dashboard-pair .text-button{font-size:.75rem}.featured-anniversary{padding:24px}.featured-anniversary h2{font-size:1.3rem}.dday-large{font-size:2.5rem}.featured-label,.featured-anniversary p{font-size:.75rem}.compact-row>div strong,.agenda-row strong{font-size:.875rem}.compact-row small,.agenda-row small{font-size:.75rem}.recent-events{grid-template-columns:1fr;gap:0}.recent-event{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.recent-event p{min-height:0;margin-bottom:12px;font-size:.8125rem}.recent-event h3{font-size:1rem}.recent-event small{font-size:.75rem}.event-icon{width:40px;height:42px;margin-right:5px}.event-icon svg{width:21px}.recent-event .avatar-stack{margin-bottom:0}.toolbar{gap:9px}.search{flex:1;min-width:190px}.toolbar-spacer{display:none}.toolbar>.muted{font-size:.75rem}.anniversary-grid{grid-template-columns:1fr}.member-card{padding:23px}.settings-grid>.panel:last-child{grid-column:auto}.panel{padding:21px}.table-panel{padding:0}th,td{padding:14px 16px}.gift-summary{grid-template-columns:1fr 1fr;gap:15px;padding:18px}.gift-summary>div{border:0;padding:0}.gift-summary>div:last-child{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.gift-summary>div:last-child>span{margin:0}.gift-summary strong{font-size:1.3rem}.gift-summary>div:last-child strong{font-size:1rem}.gift-summary>div>span{font-size:.75rem}.filter-panel{padding:18px}.month-nav h2{min-width:123px}.timeline{margin:25px 0}.timeline-month{gap:8px;margin-left:50px}.timeline-month h2{font-size:1.1rem}.timeline-item{grid-template-columns:30px 8px 1fr;gap:9px}.timeline-item:before{left:43px}.timeline-dot{width:7px;height:7px;margin-top:25px}.timeline-date strong{font-size:1.2rem}.timeline-date span{font-size:.75rem}.timeline-card{padding:18px 16px}.timeline-card h2{font-size:1rem}.timeline-card-top{flex-wrap:wrap;align-items:flex-start}.timeline-card-top .row-actions{margin-left:auto}.timeline-card p{font-size:.8125rem}.event-members{gap:8px}.timeline-date{padding-top:21px}.settings-layout>.panel>.section-title{flex-wrap:wrap;gap:15px}.settings-layout>.panel>.section-title>.button{margin-left:auto}.google-g{width:35px;height:35px}.connection-empty{font-size:.8125rem}.dialog-head{padding:19px 22px}.dialog-body{padding:23px 22px}.dialog-footer{padding:16px 22px}dialog.drawer{border:0;border-radius:0;width:100vw}.toast{width:max-content;bottom:20px;left:50%}.login-page{display:block}.login-form-wrap{padding:32px 25px 45px}.form-grid{gap:12px}.field input,.field select,.field textarea{font-size:1rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.sr-only{top:0;left:0}.table-panel{position:relative}@media (width<=760px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}.agenda-row{grid-template-columns:43px minmax(0,1fr) auto;gap:10px 12px;display:grid}.agenda-row>.date-square{grid-row:1/3;align-self:start}.agenda-row>div:nth-child(2){grid-column:2/-1}.agenda-row>.badge{grid-column:2;justify-self:start}.agenda-row>.row-actions{grid-column:3}.agenda-row>.subtle-status{grid-column:2;font-size:.75rem;display:block}}:root{--photo-border:#dbe6de}.picker-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.picker-tools input:not([type=checkbox]){flex:1;min-width:140px}.picker-tools .check{white-space:nowrap;margin:0}.member-picker .choice-grid{max-height:230px;padding:3px;overflow:auto}.schedule-member-filter{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:18px;padding:14px 18px}.schedule-member-filter summary{cursor:pointer;font-size:.875rem}.schedule-member-filter .filter-checks{padding-top:15px}.gallery-intro{background:linear-gradient(125deg,#e9f0e9,#f4f6ed);border:1px solid #e0e9df;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px;padding:30px 32px;display:flex}.gallery-intro h2{margin:8px 0;font-size:1.4rem}.gallery-intro p{color:#728476;margin:0;font-size:.875rem}.gallery .toolbar{flex-wrap:wrap}.gallery .search{flex:1;min-width:170px}.gallery .toolbar select{max-width:150px}.gallery-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.gallery-filters .field{margin:0}.gallery-filters select[multiple]{min-height:80px}.gallery-filters .form-grid{gap:8px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px;display:grid}.photo-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:14px;padding:0;transition:box-shadow .2s,transform .2s;overflow:hidden}.photo-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px #1f514718}.photo-card.chosen{outline-offset:2px;outline:3px solid #528368}.photo-preview{aspect-ratio:4/3;background:#eaf0eb;position:relative;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%}.photo-pending{color:#8b9b8e;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;font-size:.8125rem;display:flex}.photo-caption{padding:13px 15px}.photo-caption strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;display:block;overflow:hidden}.photo-caption small,.photo-caption>span{color:var(--muted);margin-top:4px;font-size:.72rem;display:block}.photo-tag-row{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.photo-tag-row span{background:#f2f6f3;border-radius:5px;padding:2px 8px;font-size:.7rem}.photo-check{background:var(--teal);color:var(--text);border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:absolute;top:10px;right:10px}.photo-used{color:#fff;background:#173e36dd;padding:8px;font-size:.75rem;position:absolute;inset:auto 0 0}.photo-card:disabled{cursor:not-allowed;opacity:.55}.load-more{justify-content:center;padding:26px;display:flex}.upload-panel{border:1px solid var(--line);background:#fff;border-radius:12px;max-height:260px;margin-bottom:20px;padding:15px;overflow:auto}.upload-panel>div{grid-template-columns:1fr 100px 1fr;align-items:center;gap:12px;padding:6px;font-size:.8rem;display:grid}.upload-panel span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-panel progress{width:100%;accent-color:var(--teal)}.photo-detail{grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:28px;padding:24px;display:grid;overflow:auto}.photo-detail>.error{grid-column:1/-1}.photo-detail-image{background:#f1f4f0;border-radius:14px;justify-content:center;align-self:start;align-items:center;min-height:240px;display:flex;overflow:hidden}.photo-detail-image img{object-fit:contain;max-width:100%;max-height:65vh}.photo-info h3{margin-top:24px}.metadata{gap:0;margin-bottom:20px;font-size:.8rem;display:grid}.metadata>div{border-bottom:1px solid var(--line);grid-template-columns:100px 1fr;gap:8px;padding:8px 0;display:grid}.metadata dt{color:var(--muted)}.metadata dd{overflow-wrap:anywhere;margin:0}.tag-manager-list{margin-top:22px}.tag-manager-list>div{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 0;display:flex}.tag-manager-list>div>span{flex:1}.gallery-picker .photo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.gallery-picker .photo-caption{padding:10px}.lightbox{background:#eef2ed;justify-content:center;align-items:center;padding:12px;display:flex;overflow:auto}.lightbox img{object-fit:contain;max-width:100%;max-height:75vh}.event-page{max-width:1050px;margin:0 auto;padding-bottom:50px}.event-page-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:32px;padding-bottom:20px;display:flex}.story-header{padding:16px 0 24px}.story-header h1{letter-spacing:-.045em;overflow-wrap:anywhere;margin:14px 0 22px;font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.35}.story-header .event-members{gap:18px;margin-top:20px}.story-content{white-space:pre-wrap;overflow-wrap:anywhere;color:#4b6056;margin:0 0 28px;font-size:1rem;line-height:1.95}.story-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.story-photo{border-radius:13px;min-width:0;overflow:hidden}.photo-open{cursor:zoom-in;background:#e9eee9;border:0;width:100%;padding:0;display:block}.story-photos .photo-open img{object-fit:cover;width:100%;height:340px;display:block}.story-photos:has(>.story-photo:only-child) img{object-fit:contain;height:auto;max-height:720px}.story-section{border-top:1px solid #dce6de;margin-top:38px;padding-top:38px}.story-section h2{margin:10px 0 20px;font-size:1.65rem}.event-edit-panel{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:26px;padding:28px}.story-title-input{font-size:1.5rem;font-weight:600}.event-edit .field{margin-bottom:20px}.event-edit .event-page-toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3;background:#f6f8f7ed;padding-top:14px;position:sticky;top:0}.photo-strip{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px;display:grid}.photo-strip .photo-open img{object-fit:cover;width:100%;height:135px;display:block}.photo-controls{background:#f2f5f1;justify-content:center;padding:2px;display:flex}.photo-controls .button{min-height:var(--control-height);padding:6px 12px;padding-block:var(--control-padding-block)}.event-title-link{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.event-title-link:hover{color:#44816b;text-underline-offset:4px;text-decoration:underline}.event-preview-content{-webkit-line-clamp:3;white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.timeline-photos{background:0 0;border:0;align-items:center;gap:8px;max-width:100%;margin:18px 0;padding:0;display:flex}.timeline-photos img{object-fit:cover;border-radius:8px;width:100px;height:80px}.timeline-photos span{color:var(--muted);font-size:.8rem}@media (width<=1000px){.gallery-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-detail{grid-template-columns:1fr}.photo-detail-image img{max-height:50vh}}@media (width<=640px){.gallery-intro{flex-direction:column;align-items:flex-start;gap:18px;padding:22px}.gallery-intro h2{font-size:1.2rem}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-caption{padding:10px}.photo-caption small,.photo-caption>span{font-size:.65rem}.gallery-filters{grid-template-columns:1fr}.gallery .toolbar{gap:8px}.gallery .search{flex-basis:100%}.gallery-picker .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-detail{padding:16px}.upload-panel>div{grid-template-columns:1fr 70px}.upload-panel small{grid-column:1/-1}.event-page-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:18px}.event-page-toolbar>.muted{display:none}.event-edit-panel{padding:18px}.story-title-input{font-size:1.2rem}.story-photos{gap:8px}.story-photos .photo-open img{height:180px}.story-content{font-size:.9rem}.story-section{margin-top:26px;padding-top:26px}.story-section h2{font-size:1.3rem}.timeline-photos{gap:5px}.timeline-photos img{width:calc(25% - 7.5px);height:65px}.timeline-photos span{white-space:nowrap}.photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.event-page-toolbar .button{padding:8px 12px;padding-block:var(--control-padding-block)}.picker-tools{align-items:stretch}.picker-tools input:not([type=checkbox]){flex-basis:100%}.metadata>div{grid-template-columns:85px 1fr}}.story-photos{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.story-photos:has(>.story-photo:only-child){grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.story-photos .photo-open img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;max-height:none}.story-photos:has(>.story-photo:only-child) img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;max-height:none}.story-photo{border-radius:7px}.photo-collapse{text-align:left;width:100%;color:var(--accent-text);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:12px 0;font-size:.8125rem;display:flex}.photo-collapse>span:last-child{white-space:nowrap;align-items:center;gap:5px;display:flex}.photo-lightbox.wide{width:min(1120px,100vw - 24px);max-height:94dvh}.photo-lightbox .lightbox{min-height:0;padding:12px;overflow:auto}.photo-lightbox .lightbox img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(94dvh - 150px);margin:auto;display:block}.range-field{color:var(--muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.editor-footer{flex-wrap:wrap;gap:8px}.anniversary-event{color:#866028;white-space:normal;overflow-wrap:anywhere;background:#fff3df;border-color:#d5a962}.anniversary-label{display:block}.anniversary-dot{background:#d5a962!important}.compact-row>.badge{flex-shrink:0}.compact-row>.row-actions{flex-basis:auto;min-width:70px}@media (width<=760px){.compact-row{grid-template-columns:35px minmax(0,1fr) auto;gap:8px 10px;display:grid}.compact-row>.soft-icon{grid-row:1/3;align-self:start}.compact-row>div:not(.row-actions){overflow-wrap:anywhere;grid-column:2/-1}.compact-row>.badge{grid-column:2;justify-self:start}.compact-row>.row-actions{grid-column:3}.editor-footer .button{flex:1;justify-content:center;font-size:.8125rem}.range-field{flex:1;min-width:130px}.range-field input{width:100%;min-width:0}}@media (width<=640px){:is(.story-photos,.story-photos:has(>.story-photo:only-child)){grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.story-photos .photo-open img{height:auto}.photo-collapse{font-size:.75rem}.photo-lightbox .lightbox{padding:6px}}.user-card>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8125rem;overflow:hidden}.event-query-tools{grid-template-columns:minmax(0,1fr) minmax(140px,170px) minmax(0,330px);align-items:end;gap:12px;margin-bottom:24px;display:grid}.query-field{min-width:0;color:var(--muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.event-query-tools .search{height:var(--control-height);min-height:var(--control-height);flex:none;width:100%;min-width:0;margin:0}.event-query-tools input,.event-query-tools select{height:var(--control-height);width:100%;min-width:0}.event-query-tools .search input{height:calc(var(--control-height) - 2px);background:0 0;border:0;padding:0}.event-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.event-date-range .range-field{flex:none;min-width:0}.event-range-reset{grid-column:1/-1;justify-self:end;min-height:32px;padding:4px 8px}.schedule-group-tabs{width:fit-content;margin:14px 0}.schedule-member-filter .filter-checks{margin:12px 0}.selected-member-summary{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.selected-member-summary button{border:1px solid var(--line);color:var(--accent-text);background:#fff;border-radius:16px;align-items:center;gap:4px;padding:5px 8px;font-size:.75rem;display:flex}.anniversary-card{border-radius:9px;min-width:0;padding:14px}.anniversary-card-top{gap:6px;margin-bottom:10px}.anniversary-card>p{overflow-wrap:anywhere;margin-bottom:4px;font-size:.75rem}.anniversary-card h2{overflow-wrap:anywhere;margin-bottom:8px;font-size:1rem}.anniversary-card small{font-size:.6875rem}.anniversary-card-bottom>span,.anniversary-card-bottom .text-button{font-size:.6875rem}.anniversary-card-bottom .row-actions{margin-left:auto}.featured-anniversary{gap:10px;padding:16px}.featured-anniversary h2{margin:8px 0;font-size:1rem;line-height:1.5}.featured-label{letter-spacing:.08em;font-size:.625rem}.dday-large span{margin-top:5px;font-size:.625rem}.photo-month-heading{align-items:center;gap:10px;margin-bottom:6px;display:flex}.photo-month-heading h3{margin:0;font-size:.9375rem}.photo-month-heading>span{color:var(--muted);font-size:.75rem}.photo-card{min-width:0}.gallery .photo-caption{padding:6px 7px}.photo-caption small{font-size:.625rem;line-height:1.6;display:block}.photo-tag-row{gap:3px;max-height:1.6em;margin-top:3px;font-size:.625rem;overflow:hidden}.photo-used{overflow-wrap:anywhere;padding:4px;font-size:.625rem}.photo-pending{font-size:.625rem}.photo-selection-body{border:0;min-width:0;margin:0;padding:0}.capture-date-tools{align-items:end;gap:8px;min-width:0;display:flex}.capture-date-tools label{min-width:0;color:var(--muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.capture-date-tools input,.capture-date-tools select{width:100%;min-width:0;height:40px}.capture-input{width:145px}.capture-mode{width:80px}.date-auto-notice{color:var(--accent-text);background:#edf5ef;border-radius:7px;padding:10px 12px;font-size:.8125rem}@media (width<=1100px){.event-query-tools{grid-template-columns:minmax(0,1fr) minmax(140px,1fr)}.event-date-range{grid-column:1/-1}}@media (width<=640px){.event-query-tools{grid-template-columns:minmax(0,1fr)}.event-date-range{gap:10px}.anniversary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.anniversary-card{padding:12px}.anniversary-card-bottom>span{width:100%}.anniversary-card-bottom .text-button{margin-left:auto}.gallery .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.gallery .photo-caption{padding:5px 4px}.photo-caption strong{font-size:.625rem}.photo-caption small{font-size:.5625rem}.gallery-toolbar{align-items:end}.capture-date-tools{grid-template-columns:62px minmax(0,1fr) minmax(0,1fr);gap:6px;width:100%;display:grid}.capture-input,.capture-mode{width:auto}.capture-date-tools>.button{grid-column:1/-1;justify-self:end;padding:4px}.capture-date-tools input{padding:8px 4px;font-size:.75rem}}.upload-dock{z-index:60;background:var(--action);color:var(--action-text);cursor:pointer;font:inherit;border:0;border-radius:30px;align-items:center;gap:10px;padding:14px 20px;display:flex;position:fixed;bottom:22px;right:24px;box-shadow:0 6px 26px #18392a33}.upload-manager{max-height:75vh;overflow:auto}.upload-item{border:1px solid #e3e8e5;border-radius:16px;gap:10px;margin:12px 0;padding:16px;display:grid}.upload-item>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.upload-item strong{overflow-wrap:anywhere}.upload-item progress{width:100%;height:7px;accent-color:var(--accent)}.upload-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pc-pair{gap:12px;display:grid}.pc-pair code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.media-play{color:#fff;pointer-events:none;text-shadow:0 1px 5px #000;place-items:center;display:grid;position:absolute;inset:0}.media-play svg{box-sizing:content-box;background:#0009;border-radius:50%;padding:7px}.story-photo,.photo-preview{position:relative}.lightbox video,.photo-detail-image video{max-width:100%;max-height:70vh}.inline-create{background:#f6faf8;border:1px solid #d8e6df;border-radius:12px;margin:12px 0;padding:16px}@media (width<=700px){.upload-dock{padding:12px 16px;bottom:14px;right:14px}.upload-item>div:first-child{flex-direction:column;align-items:start}.upload-manager{max-height:none}.upload-actions .button{padding:8px 12px;padding-block:var(--control-padding-block)}}.gallery .photo-card{box-shadow:none;border:0;border-radius:2px;transition:none;transform:none}.gallery .photo-card:hover{box-shadow:none;transform:none}.gallery .photo-preview{border-radius:0;margin:0}.gallery .photo-caption{display:none}.gallery .photo-card.chosen{outline:3px solid var(--accent-text);outline-offset:-3px}.gallery .photo-card:focus-visible{outline:3px solid var(--accent-focus);outline-offset:-3px}dialog.compact-uploads{flex-direction:column;max-height:90dvh;display:flex;overflow:hidden}.compact-uploads:not([open]){display:none}.upload-toolbar{border-bottom:1px solid var(--line);flex:none;padding:12px 24px}.upload-summary{color:var(--muted);margin-bottom:10px;font-size:.75rem}.upload-buttons{flex-wrap:wrap;gap:6px;display:flex}.upload-buttons .button{padding:8px 10px;padding-block:var(--control-padding-block);gap:5px;font-size:.75rem}.compact-uploads .upload-manager{flex:1;min-height:0;max-height:none;padding:0 24px;overflow:auto}.upload-row{border-bottom:1px solid var(--line)}.upload-row-main{align-items:center;gap:10px;min-width:0;height:70px;display:flex}.upload-thumb{color:#80918a;background:#edf2ef;border-radius:5px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.upload-thumb img{object-fit:cover;width:100%;height:100%}.upload-row-content{flex:1;min-width:0}.upload-row-title{align-items:center;gap:10px;min-width:0;display:flex}.upload-row-title strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;font-weight:500;overflow:hidden}.upload-status{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:3px 0 5px;font-size:.68rem;overflow:hidden}.upload-row progress{width:100%;height:3px;accent-color:var(--accent);background:#e7eeea;border:0;border-radius:2px;display:block;overflow:hidden}.upload-row progress::-webkit-progress-bar{background:#e7eeea}.upload-row progress::-webkit-progress-value{background:var(--accent)}.upload-row progress:indeterminate{background:linear-gradient(90deg,#e7eeea 0%,var(--accent) 50%,#e7eeea 100%);background-size:200% 100%;animation:1.4s linear infinite upload-wait}.upload-row progress.is-idle{background:#e7eeea;animation:none}@keyframes upload-wait{to{background-position:-200% 0}}.upload-row-actions{flex:none;align-items:center;gap:0;display:flex}.upload-row-actions .icon-button{place-items:center;width:32px;height:36px;padding:0;display:grid}.upload-remove{color:#8b675c}.upload-row-details{overflow-wrap:anywhere;padding:0 0 12px 54px;font-size:.75rem}.upload-row-details p{color:var(--muted);margin:6px 0}.upload-row-details .error{margin:6px 0;padding:8px}.upload-row.is-done .upload-row-main{gap:8px;height:38px}.upload-row.is-done .upload-thumb{border-radius:3px;flex-basis:26px;width:26px;height:26px}.upload-row.is-done strong{font-size:.75rem}.upload-finished{color:#52776a;flex:none;align-items:center;gap:3px;font-size:.65rem;display:inline-flex}.upload-extra{color:var(--muted);border-top:1px solid var(--line);flex:none;padding:12px 24px;font-size:.73rem}.upload-extra summary{cursor:pointer}.upload-extra p{margin:8px 0}.upload-cancel-confirm{padding-top:8px;font-size:.8rem}.upload-cancel-confirm p{line-height:1.6}.compact-uploads .pc-pair{flex:none;max-height:35vh;padding:16px 24px;overflow:auto}@media (width<=640px){dialog.compact-uploads{height:100dvh;max-height:100dvh}.upload-toolbar{padding:10px 12px}.compact-uploads .upload-manager{padding:0 12px}.upload-buttons .button{min-height:var(--control-height);padding:7px 9px;padding-block:var(--control-padding-block)}.upload-row-main{gap:8px}.upload-thumb{flex-basis:40px;width:40px;height:40px}.upload-row-actions .icon-button{width:44px;height:44px}.upload-row-actions .upload-details-toggle{width:28px}.upload-row-title strong{font-size:.75rem}.upload-status{font-size:.625rem}.upload-row-details{padding-left:48px}.upload-extra{padding:10px 12px}}@media (prefers-reduced-motion:reduce){.upload-row progress:indeterminate{animation:none}}.mobile-sessions{border-top:1px solid var(--line);gap:12px;margin-top:22px;padding-top:20px;display:grid}.mobile-sessions-heading,.mobile-session-title,.mobile-sessions-notice{align-items:center;gap:10px;display:flex}.mobile-sessions-heading{flex-wrap:wrap;justify-content:space-between}.mobile-sessions-heading h3{margin:0;font-size:1rem}.mobile-session-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.mobile-session-list li{border:1px solid var(--line);border-radius:12px;min-width:0;padding:14px}.mobile-session-title{overflow-wrap:anywhere;flex-wrap:wrap}.mobile-session-list dl{margin:12px 0;font-size:.78rem}.mobile-session-list dl div{flex-wrap:wrap;gap:4px 12px;margin:5px 0;display:flex}.mobile-session-list dt{color:var(--muted);min-width:96px}.mobile-session-list dd{overflow-wrap:anywhere;margin:0}.mobile-sessions-notice{color:#376a53;font-size:.85rem}.badge.red{color:#b3413d;background:#fcebea}.badge.blue{color:#2864b7;background:#eaf1fc}th,td{padding:10px 14px}.panel{padding:16px}.member-card{padding:16px}.member-card .chips{margin:10px 0}.member-card-main p{margin-bottom:8px}.compact-row{gap:10px;padding-top:8px;padding-bottom:8px}.agenda-row{gap:10px;padding:8px 0}.agenda-row small,.compact-row small{margin-top:2px}.dashboard-pair .panel{padding:16px}.dashboard-pair .section-title{margin-bottom:12px}.dashboard-pair .agenda-row{display:flex}.dashboard-pair .agenda-row>div:nth-child(2){min-width:0}.dashboard-pair .date-square{flex-shrink:0;width:40px;height:40px}.dashboard-pair .compact-row{min-height:56px;display:flex}.dashboard-pair .compact-row>div{flex:1}.dashboard-pair .compact-row>.badge{margin-left:auto}.dashboard-pair .soft-icon{flex-shrink:0;width:30px;height:30px}.anniversary-card{padding:16px}.anniversary-card-bottom{margin-top:12px;padding-top:8px}.recent-event{padding:12px}@media (width<=700px){th,td{padding:8px 12px}.panel{padding:12px}.table-panel{padding:0}.member-card,.dashboard-pair .panel{padding:12px}.compact-row,.agenda-row{padding-top:7px;padding-bottom:7px}.dashboard-pair .compact-row{min-height:56px}.dashboard-pair .agenda-row>.subtle-status{flex-shrink:0;font-size:11px}}.workspace-switcher{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;min-width:0;padding:12px 16px;display:flex}.workspace-switcher .field{min-width:0;margin:0}.workspace-switcher select{width:100%;min-width:0}.workspace-switcher>.button{align-self:flex-start}.member-card-main>span{display:block}.panel>.detail-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.panel>.detail-row small{color:var(--muted);display:block}.place-input{grid-column:1/-1;min-width:0}.place-actions{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.place-search-row{align-items:flex-end;gap:10px;margin:12px 0;display:flex}.place-search-row>input,.place-search-row>.field{flex:1;min-width:0}.place-display{overflow-wrap:anywhere;flex-direction:column;gap:4px;display:flex}.place-display small{color:var(--muted,#65736d);font-weight:400}.place-address{background:var(--surface-alt,#f3f6f3);border-radius:8px;padding:10px 12px}.place-results{gap:10px;margin:12px 0;display:grid}.place-result{text-align:left;color:inherit;border:1px solid var(--border,#dce3dd);cursor:pointer;background:0 0;border-radius:10px;align-items:flex-start;gap:10px;padding:14px;display:flex}.place-result:hover{background:var(--surface-alt,#f3f6f3)}.managed-place{border:1px solid var(--border,#dce3dd);border-radius:10px;padding:14px}.place-map-section{border-top:1px solid var(--border,#dce3dd);margin-top:22px;padding-top:16px}.place-map-section h3{align-items:center;gap:6px;display:flex}.place-map{border-radius:10px;width:100%;height:280px;margin-top:12px;overflow:hidden}.place-settings .checkbox-label{align-items:center;gap:8px;display:flex}@media (width<=600px){.place-search-row{flex-wrap:wrap}.place-search-row>input,.place-search-row>.field{flex-basis:65%}.place-actions .button{max-width:100%}.place-map{height:230px}}.place-provider-row>.field{margin-bottom:0}.place-provider-row>.button{white-space:nowrap}.place-filter-row{flex-wrap:nowrap;align-items:center}.place-filter-row>input{flex:1 1 0}.place-filter-row>.button,.place-filter-row>.checkbox-label{white-space:nowrap;flex-shrink:0}.place-settings .checkbox-label{margin:0;font-size:.8125rem}button.managed-place{text-align:left;background:var(--surface);color:inherit;flex-direction:column;gap:6px;display:flex}button.managed-place:hover{background:var(--surface-alt,#f3f6f3)}.place-detail .place-actions{flex-wrap:wrap;margin:0}.place-detail button:disabled,.place-settings button:disabled{cursor:default}@media (width<=600px){.place-filter-row>input{flex-basis:0;padding-inline:8px}.place-filter-row{gap:6px}.place-filter-row>.button{padding-inline:10px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#202020;background:var(--canvas);--text:#202020;--muted:#73737a;--line:#e7e7ed;--border:var(--line);--surface:#fff;--canvas:#fafafc;--soft:#f5f5f8;--action:#397766;--action-hover:#306756;--action-text:#fff;--accent:#69aa99;--accent-text:#397766;--accent-text-hover:#367462;--accent-soft:#eff7f4;--accent-soft-hover:#e1f0ea;--accent-line:#cbe2d8;--accent-line-hover:#b5d6c8;--accent-focus:var(--accent-text);--brand-fill:var(--accent);--frame-gutter:0px;--page-space:36px;--card-space:20px;--card-radius:20px;--card-gap:24px;--tone-purple-bg:#f4f0ff;--tone-purple-text:#6145b8;--tone-purple-dot:#7055ca;--tone-purple-line:#e5dcfa;--tone-mint-bg:#dff5ef;--tone-mint-text:#24695b;--tone-mint-dot:#65b8a3;--tone-mint-line:#bfe5db;--tone-pink-bg:#fce4e8;--tone-pink-text:#a5364e;--tone-pink-dot:#e390a0;--tone-pink-line:#f2c4cd;--tone-blue-bg:#e3f1fc;--tone-blue-text:#2d6388;--tone-blue-dot:#77b4da;--tone-blue-line:#c3deef;--tone-gray-bg:#f2f2f5;--tone-gray-text:#62626d;--tone-gray-dot:#a0a0ab;--tone-gray-line:#e1e1e8;--success:var(--tone-mint-text);--danger:var(--tone-pink-text);--shadow:0 2px 4px #20202002;--photo-border:var(--line);--teal:var(--accent);--teal-dark:var(--action-hover);--pale:var(--soft);--control-height:36px;--control-line-height:20px;--control-padding-block:calc((var(--control-height) - var(--control-line-height) - 2px) / 2);--card-padding-block:14px;--row-padding-block:10px;--topbar-height:56px;--dialog-head-space:10px;--dialog-body-space:12px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent-focus);outline-offset:2px}input,select,textarea{border-color:var(--line);background:var(--surface);color:var(--text);border-radius:12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-focus);outline-offset:2px;border-color:var(--accent-focus)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{accent-color:var(--accent)}input[readonly]{background:var(--soft);color:var(--muted)}h1,h2,h3{letter-spacing:-.035em}.eyebrow{color:var(--muted);letter-spacing:.1em;font-weight:500}.teal{color:var(--success)!important}.danger-text{color:var(--danger)!important}.title-dot{color:var(--accent-text)}.button{padding:var(--control-padding-block) 20px;min-height:var(--control-height);line-height:var(--control-line-height);border-radius:10px;transition:background .15s,border-color .15s,box-shadow .15s}.button.primary{background:var(--action);color:var(--action-text);border-color:var(--action);box-shadow:none}.button.primary:hover{background:var(--action-hover);border-color:var(--action-hover)}.button.secondary{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-line)}.button.secondary:hover{background:var(--accent-soft-hover);color:var(--accent-text-hover);border-color:var(--accent-line-hover)}.button.ghost{color:var(--muted);padding-block:var(--control-padding-block)}.button.ghost:hover{background:var(--accent-soft);color:var(--accent-text)}.button.danger{background:var(--tone-pink-bg);color:var(--tone-pink-text);border-color:var(--tone-pink-line)}.button.danger:hover{border-color:var(--tone-pink-dot);background:#f8d5dd}.icon-button{color:var(--muted);width:var(--control-height);height:var(--control-height);border-radius:10px}.icon-button:hover{background:var(--accent-soft);color:var(--accent-text)}.text-button{color:var(--muted)}.text-button:hover,.name-cell:hover strong,.event-title-link:hover{color:var(--accent-text)}.badge{background:var(--accent-soft);color:var(--accent-text);border-radius:6px;font-weight:500}.badge.green,.badge.income,.badge.success{background:var(--tone-mint-bg);color:var(--tone-mint-text)}.badge.neutral{background:var(--tone-gray-bg);color:var(--tone-gray-text)}.badge.amber{background:var(--tone-purple-bg);color:var(--tone-purple-text)}.badge.red,.badge.expense{background:var(--tone-pink-bg);color:var(--tone-pink-text)}.badge.blue,.badge.transfer{background:var(--tone-blue-bg);color:var(--tone-blue-text)}.themed-tag{white-space:normal;overflow-wrap:anywhere;border:1px solid;max-width:100%}.photo-tag-row{max-height:24px}.photo-tag-row .themed-tag{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:2px 6px;line-height:1.4;display:inline-block;overflow:hidden}.option-row>span{overflow-wrap:anywhere;flex:1;min-width:0}.tag-swatch{background:var(--tone-gray-dot)}.count,.heading-count{color:var(--muted)}.avatar,.avatar.small,.avatar.large,.family-shortcut .avatar,.member-choice .avatar.small{color:#605f5d;border-radius:50%}.app-shell{background:var(--canvas)}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding-top:24px}.sidebar .brand{margin-bottom:var(--section-gap);padding-block:8px}.brand{font-size:1.2rem}.brand-mark{background:var(--brand-fill);width:38px;height:38px;color:var(--text);border-radius:50%;font-size:1.5rem}.brand-sub{color:var(--muted);letter-spacing:.015em}.workspace-selector{background:var(--surface);border:1px solid var(--line);border-radius:12px}.workspace-icon{background:var(--soft);color:#707070;border:0;border-radius:50%}.workspace-selector>svg{color:var(--muted)}.nav-label{color:var(--muted);letter-spacing:.08em;margin-bottom:8px;font-size:.6875rem}.sidebar nav{background:0 0;border-radius:0;gap:6px;padding:0}.sidebar nav button,.nav-settings{color:var(--text);padding:var(--control-padding-block) 12px;min-height:var(--control-height);line-height:var(--control-line-height);border:1px solid #0000;border-radius:10px;position:relative}.sidebar nav button:hover,.nav-settings:hover{background:var(--accent-soft)}.sidebar nav button.active,.nav-settings.active{background:var(--accent-soft);color:var(--text);box-shadow:none;border-color:#0000}.sidebar nav button.active>svg,.nav-settings.active>svg{color:var(--accent-text)}.sidebar nav button.active:before{content:none}.nav-count{color:#67616f;background:#eae9ef;border-radius:5px}.sidebar nav button.active .nav-count{background:var(--accent-soft);color:var(--accent-text)}.user-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 12px}.topbar{height:var(--topbar-height);padding:6px var(--page-space);background:0 0;border-bottom:0}.breadcrumbs>span,.top-date{color:var(--muted)}.breadcrumbs strong{color:var(--text)}.topbar-right{gap:12px;padding:0 10px 0 18px}.topbar-right>.icon-button{background:var(--soft);border:0;border-radius:50%}.skip-link{border:1px solid var(--line);top:0;left:calc(var(--frame-gutter) + 16px);max-width:calc(100vw - 2 * var(--frame-gutter) - 32px);white-space:nowrap;border-radius:8px;transform:translateY(calc(-100% - 12px))}.skip-link:focus{top:calc(var(--frame-gutter) + 10px);transform:translateY(0)}.panel,.timeline-card,.member-card,.stat,.gift-summary,.event-edit-panel,.schedule-member-filter{border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow)}.member-card{background:var(--surface);padding-block:var(--card-padding-block)}.member-card-main p,.member-card-main>span:last-child,.empty{color:var(--muted)}.empty>svg{color:#a3a0ae}.toolbar>select{color:#60606b}.search{border-color:var(--line);color:var(--muted);min-height:var(--control-height);border-radius:10px}.search:focus-within{outline:2px solid var(--accent-focus);border-color:var(--accent-text)}.search button{color:var(--muted)}.search input:focus{outline:none}.segmented{background:var(--surface);border-color:var(--line);border-radius:10px;gap:5px;padding:3px 5px}.segmented button{color:var(--muted);min-height:var(--control-height);line-height:var(--control-line-height);border-radius:10px;padding:8px 16px;padding-block:0}.segmented button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);box-shadow:none}.segmented button:hover:not([aria-pressed=true]){color:var(--text)}th{background:var(--surface);color:var(--muted)}tbody tr:hover{background:var(--accent-soft)}.table-footer{color:var(--muted);padding-block:var(--row-padding-block);background:#fdfdfd}.compact-row,.agenda-row{border-color:var(--line)}.soft-icon,.event-icon{background:var(--soft);color:#757575;border-radius:50%}.date-square{background:var(--soft);border-color:#0000;border-radius:14px}.date-square small{color:var(--muted)}.date-square strong{color:#555}.subtle-status,.stat-top,.stat-top svg,.stat p,.stat-value>span{color:var(--muted)}.featured-anniversary{background:var(--accent-soft);color:var(--text);border:1px solid var(--accent-line);padding-block:var(--card-padding-block);border-radius:20px}.featured-label{color:var(--accent-text)}.featured-anniversary p,.featured-anniversary p span,.dday-large span{color:var(--muted)}.dday-large{color:var(--accent-text);font-weight:500}.recent-event p{color:var(--muted);margin-bottom:10px}.dashboard-aside{background:0 0;border-left:0;min-height:0}.today-block>span,.today-block p{color:var(--muted)}.mini-days button{color:#737373}.mini-days button.muted{color:#b5b5b5}.mini-days button.today{background:var(--accent);color:var(--text)}.mini-days button:hover{box-shadow:inset 0 0 0 1px var(--accent-line)}.mini-days button i{background:var(--accent)}.family-shortcut>svg{color:#999}.aside-note{color:var(--muted)}.anniversary-card{border-color:var(--line);background:var(--surface);border-radius:var(--card-radius)}.anniversary-card-top{color:var(--accent-text)}.anniversary-card>p,.anniversary-card-bottom>span{color:var(--muted)}.anniversary-card-bottom{border-color:var(--line)}.calendar-event{background:var(--tone-blue-bg);border-color:var(--tone-blue-dot);color:var(--tone-blue-text)}.calendar-event.timed,.calendar-event.anniversary-event{background:var(--tone-purple-bg);border-color:var(--tone-purple-dot);color:var(--tone-purple-text)}.legend-dot{background:var(--tone-blue-dot)}.gift-summary>div>span{color:var(--muted)}.filter-panel{border-color:var(--line);background:var(--surface);border-radius:var(--card-radius);padding-block:var(--card-padding-block)}.filter-dot{background:var(--accent)}.timeline-month>span,.timeline-date span,.event-meta,.event-members>span{color:var(--muted)}.timeline-date strong{color:#666}.timeline-dot{background:var(--accent);border-color:var(--canvas);box-shadow:0 0 0 3px var(--accent-soft)}.timeline-item:before{background:#e5e5e5}.timeline-card p,.story-content{color:#626262}.connection-empty{color:var(--muted)}.google-g{color:var(--muted);background:var(--soft)}dialog{color:var(--text);border-color:var(--line);border-radius:24px;box-shadow:0 24px 90px #25252526}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#29292945}.dialog-footer{padding-block:var(--dialog-head-space);background:#fafafa}.required{color:var(--accent-text)}.check,.form-section-title,.form-hint{color:var(--muted)}.member-choice{border-color:var(--line);padding-block:calc((var(--control-height) - 27px) / 2);min-height:var(--control-height)}.member-choice.selected{background:var(--accent-soft);border-color:var(--accent-line)}.note-editor{background:#f8f8f8}.info{background:var(--tone-blue-bg);border-color:var(--tone-blue-line);color:var(--tone-blue-text)}.info small{color:var(--tone-blue-text)}.error{background:var(--tone-pink-bg);border-color:var(--tone-pink-line);color:var(--tone-pink-text)}.member-profile p,.profile-facts p,.detail-event span{color:var(--muted)}.note-card{background:var(--soft);border-color:var(--line)}.note-card p{color:#68605b}.toast{background:var(--accent);color:var(--text);border-color:var(--accent);border-radius:10px;box-shadow:0 7px 28px #29292926}.toast .icon-button{color:#ddd}.loading-screen{color:var(--muted)}.nav-backdrop{background:#29292945}.gallery-intro{background:var(--surface);border-radius:var(--card-radius);padding-block:var(--card-padding-block);border-color:#0000;display:none}.gallery-intro p{color:var(--muted)}.photo-card{background:var(--surface);border-color:var(--line);border-radius:var(--card-radius)}.photo-card:hover{box-shadow:0 5px 16px #2929290d}.photo-card.chosen{outline-color:var(--accent-text)}.photo-preview,.photo-detail-image,.photo-open{background:#eee}.photo-pending{color:var(--muted)}.photo-tag-row span{background:var(--soft)}.photo-check{background:var(--accent);color:var(--text)}.photo-used{background:#303030d9}.lightbox{background:var(--soft)}.story-section{border-color:var(--line)}.event-edit .event-page-toolbar{background:#fafafced}.date-auto-notice{background:var(--accent-soft);color:var(--accent-text)}.login-page{background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.login-story{background:var(--accent-soft);min-width:0;color:var(--accent-text);border-right:1px solid var(--accent-line);justify-content:center;align-items:center;display:flex}.login-story h1{color:var(--accent-text);letter-spacing:.06em;white-space:nowrap;margin:0;font-size:48px;font-weight:600;line-height:1.2}.login-form-wrap{min-width:0}.login-form form{margin:0}.login-form .login-image-cache-option{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin:16px 0;font-size:.875rem}body{background:var(--canvas)}#root{padding:var(--frame-gutter);min-height:100dvh}.app-shell,.login-page{width:100%;max-width:none;min-height:100dvh;box-shadow:none;border:0;border-radius:0;outline:0;margin:0;overflow:clip}.loading-screen{height:calc(100dvh - 2 * var(--frame-gutter))}.sidebar{width:210px;min-width:210px;height:calc(100dvh - 2 * var(--frame-gutter));top:var(--frame-gutter);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d7d7d7 transparent;padding:12px 16px 22px;overflow-y:auto}.sidebar>.brand,.sidebar>.workspace-selector,.sidebar nav,.sidebar-bottom{flex-shrink:0}.sidebar .brand{background:var(--surface);margin-bottom:var(--section-gap);border-radius:999px;padding:12px;padding-block:8px}.workspace-selector{margin-bottom:16px;padding:14px 12px}.nav-label{margin-bottom:8px;padding-left:16px}.nav-settings{background:var(--surface);margin:20px 0 14px;margin-block:var(--section-gap) 10px}.sidebar-bottom{border-top:1px solid var(--line);padding-top:10px}.topbar{padding:6px var(--page-space);height:var(--topbar-height);gap:16px}.breadcrumbs{background:var(--surface);padding:10px 20px;border-radius:999px;gap:12px;padding-block:6px}.topbar-right{background:var(--surface);border-radius:999px;padding:0 10px 0 18px}.main:not(.dashboard-page){padding:12px var(--page-space) 56px}.dashboard-page{padding:0}.dashboard-main{padding:12px var(--page-space) 56px}.welcome-row{flex-flow:wrap;align-items:center;gap:8px 20px;margin-bottom:12px}.welcome-row>div{min-width:0}.welcome-row .heading-title{flex-basis:320px}.mobile-toggle{flex-shrink:0;display:none}.welcome-row h1{letter-spacing:-.045em;word-break:keep-all;overflow-wrap:anywhere;margin-bottom:0;font-size:1.75rem;line-height:1.3}.welcome-row p.muted{word-break:keep-all;font-size:.875rem;line-height:1.8}.welcome-row .eyebrow{margin-bottom:12px}.welcome-row .eyebrow,.welcome-row p.muted,.story-header>.eyebrow{display:none}.welcome-row .button{padding:12px 22px;padding-block:var(--control-padding-block);min-height:var(--control-height);font-size:.875rem}.panel,.dashboard-pair .panel,.settings-grid .panel{padding:var(--card-padding-block) var(--card-space)}.section-title h2{font-size:1rem}.table-panel{padding:0}th,td{padding:16px 20px;padding-block:var(--row-padding-block)}thead th{padding-block:var(--row-padding-block)}.table-footer{padding:14px 20px;padding-block:var(--row-padding-block)}.toolbar{gap:8px 14px;margin-bottom:28px}.toolbar>select,.gallery .toolbar select{min-height:var(--control-height);border-color:var(--line);border-radius:10px}.search{min-height:var(--control-height);padding:0 16px}.search input{height:calc(var(--control-height) - 2px);min-height:calc(var(--control-height) - 2px);line-height:var(--control-line-height);padding:12px 0;padding-block:0}.event-query-tools{gap:16px;margin-bottom:30px}.event-query-tools select{border-radius:10px}.event-date-range{gap:16px}.member-card{padding:22px;padding-block:var(--card-padding-block)}.member-card-main h2{margin:10px 0 6px}.member-card .chips{margin:16px 0;margin-block:10px}.member-card .row-actions{padding-top:8px}.dashboard-layout{display:block}.featured-anniversary{padding:20px 16px;padding-block:var(--card-padding-block);gap:16px}.featured-anniversary h2{word-break:keep-all;overflow-wrap:anywhere;margin:12px 0;font-size:1.1rem;line-height:1.65}.featured-label{font-size:.6875rem}.dday-large{font-size:2rem}.dday-large span{font-size:.6875rem}.compact-row{padding:16px 0;padding-block:var(--row-padding-block);gap:14px}.compact-row>div strong{word-break:keep-all;overflow-wrap:anywhere}.soft-icon{width:40px;height:40px}.agenda-row{padding:16px 0;padding-block:var(--row-padding-block);gap:14px}.date-square{width:48px;min-width:48px;padding:7px 0}.dashboard-main>.panel{box-shadow:none;background:0 0;border:0;padding:0}.recent-events{gap:18px}.recent-event,.recent-event:last-child{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:18px;padding-block:var(--card-padding-block);flex-direction:column;gap:14px}.recent-event>div:last-child{width:100%}.recent-event h3{margin:10px 0;margin-block:6px;font-size:.9375rem;line-height:1.6}.recent-event p{margin-bottom:10px;font-size:.8125rem;line-height:1.8}.event-icon{width:40px;height:40px}.event-icon svg{width:20px}.dashboard-aside{padding:12px 24px 40px 0}.today-block,.aside-calendar,.aside-family{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:18px 16px;padding-block:var(--card-padding-block);margin-bottom:20px}.today-block h2{margin-top:12px}.aside-note{border:0;margin-top:24px;padding:0 18px}.anniversary-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:32px}.anniversary-card{overflow-wrap:anywhere;min-width:0;padding:12px}.anniversary-card-top{margin-bottom:14px}.anniversary-card>p{margin-bottom:8px;font-size:.8125rem}.anniversary-card h2{margin-bottom:14px;font-size:1.1rem;line-height:1.5}.anniversary-card small,.anniversary-card-bottom>span,.anniversary-card-bottom .text-button{font-size:.75rem}.anniversary-card-bottom{flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px}.schedule-member-filter{margin-bottom:24px;padding:16px 20px}.gift-summary{padding:22px 26px;padding-block:var(--card-padding-block);margin-bottom:30px}.filter-panel{padding:22px;padding-block:var(--card-padding-block);margin-bottom:28px}.settings-layout{gap:28px}.timeline{max-width:1050px}.timeline-item{padding-bottom:var(--section-gap-large)}.timeline-card{padding:22px;padding-block:var(--card-padding-block)}.gallery-intro{padding:28px 30px;padding-block:var(--card-padding-block);margin-bottom:30px}.gallery-intro p{word-break:keep-all}.gallery .photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:4px}.photo-month{margin:16px 0 0}.photo-month-heading{margin-bottom:6px}.photo-preview{border-radius:12px;margin:10px 10px 0}.gallery .photo-caption,.gallery-picker .photo-caption{padding:12px 16px 16px}.photo-caption strong{font-size:.8125rem}.photo-caption small,.photo-caption>span{font-size:.6875rem}.photo-tag-row{gap:5px;margin-top:8px}.photo-check{width:24px;height:24px;top:8px;right:8px}.photo-used,.photo-pending{font-size:.75rem}.photo-detail{padding:22px;padding-block:var(--card-padding-block)}:is(.story-photos,.story-photos:has(>.story-photo:only-child)){grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.story-photo{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px}.story-photos .photo-open img{border-radius:10px}.event-page-toolbar{row-gap:8px;margin-bottom:20px;padding-bottom:10px}.story-header{padding:8px 0 16px;padding-block:6px}.story-header h1{word-break:keep-all;margin:0 0 10px;font-size:1.75rem;line-height:1.3}.story-header .event-members{margin-top:16px}.photo-strip{gap:16px}.photo-controls{background:var(--soft);border-radius:0 0 10px 10px;gap:2px}.photo-controls .button{min-width:0;min-height:var(--control-height);padding:8px 2px;padding-block:var(--control-padding-block);flex:1 1 0}.photo-collapse{padding:16px 0;padding-block:var(--row-padding-block);margin-bottom:8px}.event-edit-panel{padding:24px;padding-block:var(--card-padding-block)}.dialog-head,.dialog-body{padding:22px 24px;padding-block:var(--dialog-body-space)}.dialog-footer{padding:16px 24px;padding-block:var(--dialog-head-space)}.field{margin-bottom:var(--field-space)}.form-grid{gap:16px;row-gap:var(--form-row-gap)}.member-choice{padding:10px 14px;padding-block:calc((var(--control-height) - 27px) / 2);min-height:var(--control-height);border-radius:10px}.tag-choice{padding:7px 12px;border-radius:6px;padding-block:4px}.note-editor,.note-card{padding:18px;padding-block:var(--card-padding-block);border-radius:16px}.login-story{min-height:calc(100dvh - 2 * var(--frame-gutter));padding:48px clamp(28px,5vw,80px)}.login-form-wrap{padding:48px 36px}.login-form{max-width:390px}.login-form .field{margin-bottom:var(--field-space)}.login-form .field input{padding:15px 16px;padding-block:var(--control-padding-block);border-radius:12px}.login-form .button[type=submit]{padding:15px;padding-block:var(--control-padding-block);margin-top:8px}.toast{left:50%}@media (width<=1280px){:root{--page-space:28px;--card-space:20px;--card-gap:22px}.dashboard-layout{display:block}.dashboard-aside{display:none}.recent-events{gap:20px}}@media (width<=1000px){:root{--page-space:24px}.sidebar{width:192px;min-width:192px;padding:12px 12px 22px}.sidebar .brand{margin-bottom:var(--section-gap);gap:8px;padding:10px;padding-block:8px}.brand{font-size:1.1rem}.brand-sub{font-size:.6875rem}.recent-events{grid-template-columns:1fr}.recent-event,.recent-event:last-child{padding-block:var(--card-padding-block);flex-direction:row}}@media (width<=760px){:root{--page-space:20px;--card-space:18px;--card-gap:22px;--card-radius:18px}.app-shell,.login-page{overflow:visible}.topbar{height:var(--topbar-height);gap:6px;padding:6px 14px}.breadcrumbs{gap:7px;padding:10px 12px;padding-block:6px}.topbar-right{gap:0;padding:0 4px}.mobile-toggle{background:var(--surface);width:44px;height:44px;margin-right:0;display:grid}.main:not(.dashboard-page),.dashboard-main{padding:12px var(--page-space) 36px}.sidebar{background:var(--surface);border-radius:0;width:248px;min-width:248px;height:100dvh;padding:12px 18px 24px;position:fixed;top:0;left:-272px;overflow-y:auto;box-shadow:0 12px 48px #20202020}.sidebar.open{left:0}.sidebar .brand{margin-bottom:var(--section-gap);flex-shrink:0;padding-block:8px}.welcome-row{gap:8px 16px;margin-bottom:12px}.welcome-row h1{font-size:1.5rem;line-height:1.3}.welcome-row .button{min-height:var(--control-height);padding:11px 18px;padding-block:var(--control-padding-block);align-self:flex-start;margin-top:0;font-size:.8125rem}.welcome-row p.muted{font-size:.8125rem}.featured-anniversary{padding:16px 14px;padding-block:var(--card-padding-block);gap:12px}.featured-anniversary h2{font-size:1rem}.dday-large{font-size:1.7rem}.recent-events{gap:16px}.recent-event,.recent-event:last-child{padding:16px;padding-block:var(--card-padding-block);gap:12px}.recent-event .event-icon{margin-right:0}.compact-row{padding:14px 0;padding-block:var(--row-padding-block);grid-template-columns:40px minmax(0,1fr) auto;gap:10px 12px}.agenda-row{padding:14px 0;padding-block:var(--row-padding-block);grid-template-columns:48px minmax(0,1fr) auto;gap:10px 12px}.member-card{padding:20px;padding-block:var(--card-padding-block)}.table-panel{padding:0}th,td{padding:12px 16px;padding-block:var(--row-padding-block)}.toolbar{gap:8px 10px;margin-bottom:24px}.search{min-width:0;min-height:var(--control-height)}.gift-summary{padding:18px;padding-block:var(--card-padding-block);margin-bottom:26px}.filter-panel{padding:18px;padding-block:var(--card-padding-block)}.timeline-card{padding:18px 16px;padding-block:var(--card-padding-block)}.event-query-tools{gap:14px;margin-bottom:26px}.event-date-range{gap:12px}.event-edit-panel{padding:18px;padding-block:var(--card-padding-block)}.event-page-toolbar{row-gap:8px;margin-bottom:16px;padding-bottom:10px}.story-header h1{margin-bottom:10px;font-size:1.5rem}.dialog-head,.dialog-body{padding:18px;padding-block:var(--dialog-body-space)}.dialog-footer{padding:14px 18px;padding-block:var(--dialog-head-space)}.form-grid{gap:16px;row-gap:var(--form-row-gap)}.login-page{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);display:grid;overflow:visible}.login-story{border-right:0;border-bottom:1px solid var(--accent-line);min-height:0;padding:48px 24px}.login-story h1{font-size:32px}.login-form-wrap{padding:36px 24px}dialog.drawer{border-radius:0}}@media (width<=640px){.gallery-intro{padding:24px;padding-block:var(--card-padding-block);gap:22px}.gallery .photo-grid,.gallery-picker .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.gallery .photo-caption,.gallery-picker .photo-caption{padding:10px 12px 14px}.photo-preview{border-radius:10px;margin:8px 8px 0}.photo-caption strong{font-size:.75rem}.photo-caption small,.photo-caption>span{font-size:.6875rem}.photo-detail{padding:16px;padding-block:var(--card-padding-block)}:is(.story-photos,.story-photos:has(>.story-photo:only-child),.photo-strip){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.story-photo{border-radius:14px;padding:6px}.photo-collapse{padding-block:var(--row-padding-block);margin-bottom:8px;font-size:.8125rem}.anniversary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.anniversary-card{padding:12px}.anniversary-card-bottom .text-button{min-height:44px}}@media (width<=359px){.anniversary-grid{grid-template-columns:1fr}.anniversary-card-bottom>span{width:auto}}@media (width<=480px){.gift-summary strong{font-size:1.15rem}.featured-anniversary{padding-block:var(--card-padding-block);flex-direction:column;align-items:stretch;gap:14px}.dday-large{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.dday-large span{text-align:right;margin-top:0}.topbar .breadcrumbs>span:first-child,.topbar .breadcrumbs>span:nth-child(2){display:none}.breadcrumbs{padding:10px 16px;padding-block:6px}}@media (prefers-reduced-motion:reduce){.button{padding:var(--control-padding-block) 20px;min-height:var(--control-height);line-height:var(--control-line-height);transition:none}}.google-contacts-dialog{width:min(860px,100vw - 32px)}.contacts-account-body{margin-bottom:var(--section-gap)}.contacts-account-body>p{margin:0 0 10px}.contacts-account-tools{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.contacts-account-tools .field{flex:1;min-width:180px;margin:0}.contacts-account-tools .button{margin-bottom:1px}.contacts-picker-body{padding-top:var(--dialog-body-space)}.contacts-picker-body>.error{margin-bottom:14px}.contacts-search{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:0 12px;display:flex}.contacts-search input{background:0 0;border:0;width:100%;min-width:0}.contacts-search:focus-within{outline:2px solid var(--accent-focus);outline-offset:2px}.contacts-search input:focus-visible{outline:none}.contacts-list-tools,.contacts-list-tools>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.contacts-list-tools{justify-content:space-between;margin-top:12px}.contacts-list-tools .button{padding:8px;padding-block:var(--control-padding-block);font-size:.8125rem}.contacts-list-tools .check{margin:0}.contacts-list{border-block:1px solid var(--line);max-height:min(42vh,420px);margin:14px 0;padding:0;list-style:none;overflow-y:auto}.contacts-list>li{border-bottom:1px solid var(--line);padding:14px 10px;padding-block:var(--row-padding-block);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;display:grid}.contacts-list>li:last-child{border-bottom:0}.contacts-list>li.selected{background:var(--soft)}.contacts-choice{cursor:pointer;align-items:center;gap:12px;min-width:0;display:flex}.contacts-choice input{flex-shrink:0;width:18px;height:18px}.contacts-choice strong,.contacts-choice small{overflow-wrap:anywhere;display:block}.contacts-choice small,.contacts-phone small{color:var(--muted);margin-top:4px;font-size:.75rem}.contacts-phone{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.contacts-phone select{width:100%;min-width:0}.contacts-phone>.badge{font-size:.6875rem}.contacts-load{justify-content:center;margin:14px 0 22px;display:flex}.contacts-load>span{color:var(--muted);align-items:center;gap:8px;display:flex}.contacts-empty{text-align:center;padding:20px 0}.contacts-permission{border:1px solid var(--line);padding:18px;padding-block:var(--card-padding-block);border-radius:12px}.contacts-permission h3,.contacts-result h3{margin:0 0 12px}.contacts-result>svg{margin-bottom:12px}.contacts-result-list{max-height:260px;margin:18px 0;padding:0;list-style:none;overflow:auto}.contacts-result-list li{border-bottom:1px solid var(--line);gap:10px;padding:10px 0;display:flex}.contacts-result-list span{color:var(--muted)}@media (width<=640px){.google-contacts-dialog{width:calc(100vw - 16px);max-width:none}.contacts-list>li{padding-block:var(--row-padding-block);grid-template-columns:minmax(0,1fr);gap:8px}.contacts-phone{margin-left:30px}.contacts-list-tools{align-items:flex-start;gap:4px}.contacts-list{max-height:38vh}.contacts-result-list li{flex-direction:column;gap:4px}}.dashboard-pair .compact-list{flex-direction:column;gap:4px;display:flex}.dashboard-pair .dashboard-anniversary,.dashboard-pair .dashboard-anniversary:last-child{min-height:var(--control-height);border:0;border-bottom:1px solid var(--line);padding:16px 0;padding-block:var(--row-padding-block);gap:14px}.dashboard-pair .date-square{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:48px;min-width:48px;height:auto;min-height:48px;padding:6px 0;display:flex}.dashboard-pair .date-square small{margin:0;line-height:14px}.dashboard-pair .date-square strong{margin:0;font-size:18px;line-height:20px}.dashboard-pair .agenda-row,.dashboard-pair .agenda-row:first-child,.dashboard-pair .agenda-row:last-child{gap:14px;padding:16px 0}.dashboard-pair .agenda-row>div:nth-child(2){overflow-wrap:anywhere}.dashboard-pair .agenda-row>.subtle-status{white-space:nowrap}.table-panel,.panel.table-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:0;overflow:hidden}.table-scroll{width:100%;min-width:0;overflow-x:auto}.table-scroll>table{border-collapse:separate;border-spacing:0;min-width:0}.table-scroll td,.ledger-stat-table td,.ledger-stat-table tbody th{padding:16px 20px;padding-block:var(--row-padding-block)}.table-scroll thead th,.ledger-stat-table thead th{padding:12px 20px;padding-block:var(--row-padding-block)}.table-scroll button:focus-visible{outline-offset:-2px}.importance-star{color:var(--tone-pink-text)}.photo-pending.failed,.photo-pending.deleting{background:var(--tone-pink-bg);color:var(--tone-pink-text)}.photo-pending.uploading,.photo-pending.processing{background:var(--tone-blue-bg);color:var(--tone-blue-text)}.photo-pending.pending{background:var(--tone-purple-bg);color:var(--tone-purple-text)}.member-tabs .button.secondary{background:var(--surface);color:var(--muted);border-color:var(--line)}.member-tabs .button.secondary:hover{background:var(--accent-soft);color:var(--accent-text)}.member-tabs .button.secondary[aria-pressed=true],.member-tabs .button.secondary[aria-pressed=true]:hover{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-text);font-weight:700}.option-row,.detail-row{padding-block:var(--row-padding-block)}.ledger-page .ledger-list{padding:0}.ledger-page .ledger-date-label{padding:12px 20px 8px}.ledger-page .ledger-category-row{padding-block:var(--row-padding-block)}@media (width<=760px){.option-row,.detail-row,.ledger-page .ledger-category-row{padding-block:var(--row-padding-block)}.dashboard-pair .dashboard-anniversary,.dashboard-pair .dashboard-anniversary:last-child,.dashboard-pair .agenda-row,.dashboard-pair .agenda-row:first-child,.dashboard-pair .agenda-row:last-child{padding-block:12px}.ledger-page .ledger-date-label{padding-inline:12px}.table-scroll td,.table-scroll thead th,.ledger-stat-table td,.ledger-stat-table thead th,.ledger-stat-table tbody th{padding:12px;padding-block:var(--row-padding-block)}}@media (width<=359px){.table-scroll td,.table-scroll thead th,.ledger-stat-table td,.ledger-stat-table thead th,.ledger-stat-table tbody th{padding:12px 8px;padding-block:var(--row-padding-block)}}input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden])),select:where(:not([multiple]):not([size])){min-height:var(--control-height);line-height:var(--control-line-height);padding-block:var(--control-padding-block)}textarea{padding-block:var(--control-padding-block)}input[type=date],input[type=time],input[type=datetime-local]{height:var(--control-height)}input[type=color]{height:var(--control-height);padding-block:4px}.story-title-input,.ledger-entry-form .ledger-amount-input{line-height:1.3}.dialog-head{padding-block:var(--dialog-head-space)}@media (width<=760px),(pointer:coarse){:root{--control-height:44px;--row-padding-block:8px}.button,.icon-button,.mobile-toggle,.check,.filter-checks label,.tag-choice{min-height:var(--control-height)}}.contacts-search{min-height:var(--control-height)}.contacts-search input{height:calc(var(--control-height) - 2px);min-height:calc(var(--control-height) - 2px);padding-block:0}.sidebar-bottom .user-card{padding-block:4px}html{scrollbar-gutter:stable}.contact-selection-tools{flex-wrap:wrap;min-width:0}.gift-unlink-options{border:0;margin:16px 0;padding:0}.gift-unlink-options legend{margin-bottom:12px;font-weight:600}.gift-unlink-options .check{min-height:var(--control-height);margin-bottom:8px}@media (width<=1000px){.member-card .row-actions .icon-button{width:var(--control-height);height:var(--control-height)}}.anniversary-icon-picker{border:0;margin:0 0 20px;padding:0}.anniversary-icon-picker legend{font-weight:600}.anniversary-icon-picker p{color:var(--muted);margin:12px 0 6px;font-size:12px}.icon-options{flex-wrap:wrap;gap:6px;display:flex}.icon-options label{cursor:pointer;position:relative}.icon-options input{opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.icon-options label>span{border:1px solid var(--border,#ddd);width:var(--control-height);height:var(--control-height);border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.icon-options input:checked+span{background:var(--accent-soft);border-color:var(--accent-text);color:var(--accent-text)}.icon-options input:focus-visible+span{outline:2px solid var(--accent-focus);outline-offset:2px}.importance-star{color:#a27929;position:absolute;top:-3px;right:-3px}.soft-icon,.anniversary-symbol{flex-shrink:0;position:relative}.responsive-anniversary-cards{min-width:0;container:anniversary-cards/inline-size}.compact-anniversary-grid{grid-template-columns:minmax(0,1fr);gap:12px}@container anniversary-cards (width>=612px){.compact-anniversary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container anniversary-cards (width>=924px){.compact-anniversary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container anniversary-cards (width>=1236px){.compact-anniversary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.compact-anniversary-card{flex-direction:column;gap:4px;height:auto;min-height:0;padding:12px 16px 8px;display:flex}.anniversary-card-content{text-align:left;width:100%;color:inherit;min-width:0;min-height:var(--control-height);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:stretch;gap:10px;padding:0;display:flex}.anniversary-card-heading{align-items:center;gap:12px;min-width:0;display:flex}.anniversary-symbol{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);border-radius:12px;justify-content:center;align-items:center;display:flex}.anniversary-copy{flex:1;min-width:0}.compact-anniversary-card .anniversary-copy h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px;font-size:18px;line-height:1.3;display:-webkit-box;overflow:hidden}.compact-anniversary-card .anniversary-copy p{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.compact-anniversary-card .anniversary-card-meta{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.5;display:block}.anniversary-card-controls{min-height:var(--control-height);flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;margin-top:auto;display:flex}.anniversary-card-controls .icon-button{width:var(--control-height);height:var(--control-height)}.compact-anniversary-card .badge{white-space:nowrap}@media (width<=760px){.compact-anniversary-grid{gap:10px;grid-template-columns:minmax(0,1fr)!important}.compact-anniversary-card{padding:8px 12px 6px}.anniversary-card-heading{gap:10px}.anniversary-symbol{background:0 0;width:32px;height:40px}.anniversary-symbol>svg:first-child{width:26px;height:26px}.compact-anniversary-card .anniversary-copy h2{font-size:16px}.anniversary-card-controls .row-actions{gap:0}.anniversary-card-controls .badge{font-size:11px}.compact-anniversary-card .anniversary-card-meta{font-size:10px}}.schedule-member-filter>.search{margin:12px 0}@container calendar (width<700px){.desktop-calendar-search{display:none}}.family-node .family-node-rank{color:var(--muted);overflow-wrap:anywhere;max-width:112px;margin:2px auto 0;font-size:10px;line-height:14px;display:block}.member-detail-tags{margin:16px 0;margin-block:var(--section-gap-tight);align-items:center;gap:12px;font-size:13px;display:flex}.member-detail-tags .chips{flex:1;min-width:0}.countup-anniversary-cards .compact-anniversary-grid{grid-template-columns:minmax(0,1fr)}.important-anniversary-group{margin-bottom:20px}.compact-anniversary-card.countup-anniversary-card{gap:0;padding:8px 16px}.countup-heading,.countup-details{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;display:grid}.countup-title,.countup-info{text-align:left;color:inherit;cursor:pointer;min-width:0;min-height:var(--control-height);background:0 0;border:0;padding:0}.countup-title{align-items:center;gap:10px;display:flex}.countup-title .anniversary-symbol{background:0 0;flex-shrink:0;width:32px;height:32px}.countup-anniversary-card .countup-title h2{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:18px;line-height:1.3;display:-webkit-box;overflow:hidden}.countup-day{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:32px;font-weight:750;line-height:1.15}.countup-day.dday-today{color:#db6257}.countup-day.dday-tomorrow{color:#c2832f}.countup-info{flex-wrap:wrap;align-content:center;align-items:center;gap:2px 10px;display:flex}.countup-info>span{overflow-wrap:anywhere;font-size:13px;line-height:1.4}.countup-anniversary-card .countup-info>small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.countup-details .row-actions{flex-shrink:0;gap:0}.countup-details .icon-button{width:var(--control-height);height:var(--control-height);min-width:var(--control-height);min-height:var(--control-height)}@media (width<=760px){.compact-anniversary-card.countup-anniversary-card{padding:6px 12px}.countup-heading,.countup-details{gap:8px}.countup-day{font-size:26px}.countup-anniversary-card .countup-title h2{font-size:16px}.countup-info{column-gap:6px}.countup-anniversary-card .countup-info>small{font-size:10px}}.profile-facts p,.member-profile>p{overflow-wrap:anywhere;font-size:16px;line-height:1.5}.profile-facts p{align-items:flex-start}.profile-facts p>svg{flex-shrink:0;margin-top:3px}.profile-facts p>span{min-width:0}.profile-facts p small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.profile-facts a{overflow-wrap:anywhere}.detail-event>span small{margin-top:2px;font-size:11px;display:block}.detail-event strong{overflow-wrap:anywhere;min-width:0}.family-node .react-flow__handle,.family-node:hover .react-flow__handle,.family-node:focus-within .react-flow__handle{opacity:0;visibility:hidden;pointer-events:none}.calendar-day-markers{justify-content:center;align-items:center;gap:2px;min-width:0;max-width:100%;display:flex}@container calendar (width<360px){.calendar-day-markers{gap:1px}}.event-tag-tools{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 16px;display:flex}.event-tag-filter{margin-bottom:16px}.event-tag{white-space:normal;overflow-wrap:anywhere;border-left:3px solid;max-width:100%}.event-tags{margin-top:8px;margin-bottom:10px}.tag-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.event-tag-name{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;display:flex}.event-tag-filter .filter-checks label{overflow-wrap:anywhere;min-height:44px}@media (width<=700px){.dashboard-pair>.dashboard-schedule-panel{order:-1}}:root{--section-gap:14px;--section-gap-tight:10px;--section-gap-large:20px;--field-space:10px;--field-gap:4px;--form-row-gap:8px}.settings-layout,.ledger-account-grid{row-gap:var(--section-gap)}.panel+.panel{margin-top:var(--section-gap)}.settings-grid .panel+.panel,.settings-layout>.panel+.panel,.dashboard-pair>.panel+.panel{margin-top:0}.toolbar,.event-query-tools,.event-page-toolbar,.event-edit-panel{margin-bottom:var(--section-gap)}.story-section{margin-top:var(--section-gap-large);padding-top:var(--section-gap)}.ledger-section-heading,.ledger-tabs{margin-bottom:var(--section-gap)}.event-edit-panel+.event-edit-panel,.member-detail-section+.member-detail-section{margin-top:var(--section-gap)}.neutral-tag{background:var(--soft,#f2f3f1);color:var(--text,#454b48);border:1px solid var(--line,#e2e5e2)}.event-tag{border-left-width:1px}.tag-settings .option-row>.row-actions{margin-left:auto}.tag-usage-warning{background:var(--tone-amber-bg,#fff5dd);border-radius:10px;padding:12px}.tag-usage-warning ul{padding-left:20px}dialog>form.editor-form,dialog>form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}dialog>form>.dialog-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.recipient-group{border:1px solid var(--line);border-radius:10px;padding:12px}.recipient-group legend{padding-inline:4px;font-weight:600}.recipient-group>.check{margin:0 0 12px}.category-field-group{flex-direction:column;align-items:stretch;min-width:0;display:flex}.category-field-group>.field{margin-bottom:8px}.category-field-group>.button{align-self:flex-start}.category-field-group>.inline-create{margin-bottom:0}.dashboard-pair :is(.dashboard-anniversary,.dashboard-anniversary.today,.dashboard-anniversary:last-child,.agenda-row,.agenda-row:first-child,.agenda-row:last-child){box-sizing:border-box;align-items:center;gap:10px;min-height:64px;padding:10px;display:flex}.dashboard-pair .dashboard-anniversary{border-radius:7px}.dashboard-pair .dashboard-anniversary:last-child{border-bottom:1px solid #0000}.dashboard-pair .dashboard-anniversary.today{background:var(--accent-soft)}.dashboard-pair .dashboard-anniversary>.badge{background:var(--tone-gray-bg);color:var(--tone-gray-text)}.dashboard-pair .dashboard-anniversary>.badge.dday-today{background:var(--tone-mint-bg);color:var(--tone-mint-text)}.dashboard-pair .agenda-list{flex-direction:column;gap:4px;display:flex}.dashboard-pair .date-square{flex:0 0 40px;width:40px;min-width:40px;height:40px;min-height:40px;padding-block:2px}.dashboard-pair .agenda-row>div:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.dashboard-pair .agenda-row>div:nth-child(2)>strong,.dashboard-pair .agenda-row>div:nth-child(2)>small{white-space:normal}.dashboard-pair :is(.dashboard-anniversary,.agenda-row)>div>strong{line-height:20px}.dashboard-pair :is(.dashboard-anniversary,.agenda-row)>div>small{margin-top:3px;line-height:16px}.dashboard-pair .dashboard-schedule-status{white-space:nowrap;background:var(--tone-gray-bg);color:var(--tone-gray-text);border-radius:6px;flex-shrink:0;align-items:center;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:500;line-height:16px;display:inline-flex}.dashboard-pair .dashboard-schedule-status.current{background:var(--tone-mint-bg);color:var(--tone-mint-text)}.countup-anniversary-card .countup-day{font-size:28px}.anniversary-heading{align-items:flex-start;gap:10px;min-width:0;display:flex}.countdown-anniversary-card .anniversary-card-content{flex-direction:row;flex:1;align-items:center;gap:10px;width:auto;min-width:0}.anniversary-heading>.badge{flex-shrink:0;align-self:flex-start}.anniversary-copy>span{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.anniversary-date-row{min-height:var(--control-height);justify-content:space-between;align-items:center;gap:4px;margin-top:0;display:flex}.anniversary-date-info{text-align:left;color:var(--muted);overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;flex:1;min-width:0;padding:0}.anniversary-date-row .row-actions{flex-shrink:0;align-self:center}.anniversary-date-row .icon-button{width:var(--control-height);height:var(--control-height);min-height:var(--control-height)}.member-card-main>.avatar{justify-content:center;align-items:center;display:inline-flex}.main .compact-filters{flex-direction:column;align-items:stretch;gap:8px;display:flex}.main .compact-filters :is(fieldset,.field,.filter-inputs){margin-bottom:0}.main .compact-filters fieldset{min-width:0}.main .compact-filters .filter-checks{row-gap:8px}.main .compact-filters .filter-inputs{gap:8px}.main .compact-filters>.button{align-self:flex-start}.main .compact-filters .event-tag-filter-group>.button{margin-top:8px}.main .ledger-filters .ledger-filter-selects{gap:8px 16px}.main .ledger-filters .ledger-filter-choice>div{gap:8px}.main .ledger-filters .ledger-filter-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}.main .ledger-filters .ledger-filter-amounts:has(>.field:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.main .ledger-filter-amounts :is(input,select){width:100%;min-width:0;max-width:100%}.event-meta{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.event-meta>.event-tags{justify-content:flex-end;min-width:0;margin:0 0 0 auto}.event-meta>span{overflow-wrap:anywhere;min-width:0}.event-query-tools{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.event-query-tools>.query-field{flex:200px;min-width:0}.event-query-tools>.event-date-range{flex:2 290px;min-width:0}.event-query-tools>.button{min-height:var(--control-height)}select.inset-select{appearance:none;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23656c68' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:36px}select.inset-select.intrinsic-select{width:var(--select-original-width)}select.inset-select:disabled{opacity:.6}.ledger-filter-choice>summary{padding-right:36px;list-style:none;position:relative}.ledger-filter-choice>summary::-webkit-details-marker{display:none}.ledger-filter-choice>summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;position:absolute;top:50%;right:12px;transform:translateY(-70%)rotate(45deg)}.photo-image{width:100%;min-width:0;height:100%;display:block;position:relative;overflow:hidden}.photo-image.large{height:auto;max-height:70vh;margin:auto}.photo-image>img{border-radius:0;min-width:0;position:absolute;top:50%;left:50%;object-fit:fill!important;max-width:none!important;max-height:none!important;margin:0!important}.photo-preview>.photo-image{position:absolute;inset:0}.story-photos .photo-open>.photo-image,.photo-strip .photo-open>.photo-image{aspect-ratio:1;height:auto}.timeline-photos{grid-template-columns:repeat(var(--preview-count,4),minmax(0,1fr));gap:8px;width:100%;max-width:432px;display:grid;position:relative}.timeline-photos>.photo-image{border-radius:8px;width:100%;min-width:0;height:80px}.timeline-photos>.timeline-photo-more{width:calc((100% - (var(--preview-count,4) - 1)*8px)/var(--preview-count,4));color:#fff;background:#0008;border-radius:8px;place-items:center;height:80px;display:grid;position:absolute;inset:auto 0 0 auto}.photo-detail-image{justify-content:center;align-items:center;min-width:0;display:flex}.photo-rotation-controls{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.photo-detail>.photo-info{min-width:0}.photo-collapse{padding-right:12px}@media (width<=760px){.countup-anniversary-card .countup-day{font-size:24px}.anniversary-copy>span{font-size:12px}.event-meta>.event-tags{flex-basis:100%;justify-content:flex-end;margin-left:0}.timeline-photos>.photo-image,.timeline-photos>.timeline-photo-more{height:65px}.timeline-card :is(.event-meta,.event-preview-content,.timeline-photos,.event-members){margin-block:8px}}.detail-card,.detail-row,.anniversary-card{cursor:pointer}.detail-card:focus-within,.detail-row:focus-within{outline:2px solid var(--accent);outline-offset:2px}.anniversary-grid{align-items:start}.anniversary-card{gap:4px;transition:box-shadow .15s,border-color .15s}.anniversary-card:is(:hover,:focus-within){border-color:var(--accent);box-shadow:0 3px 12px #291c421a}.general-anniversary-summary{display:none}.general-anniversary-list{gap:12px;display:grid}.compact-anniversary-card.countdown-anniversary-card{gap:0}.compact-anniversary-card .anniversary-copy>span:not(.general-anniversary-summary){line-height:1.4;display:block}.compact-anniversary-card .countup-title{min-height:32px}@container anniversary-cards (width<612px){.general-anniversary-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}}@media (width<=760px){.general-anniversary-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.general-anniversary-list{gap:10px}}@media (width>=761px){@container anniversary-cards (width>=612px){.general-anniversary-list{gap:0}.compact-anniversary-card.general-anniversary-card{padding:var(--row-padding-block) 8px var(--row-padding-block) 54px;border-color:#0000;border-bottom-color:var(--line);box-shadow:none;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto auto;gap:2px 14px;display:grid;position:relative}.general-anniversary-card :is(.anniversary-heading,.anniversary-date-row,.countup-heading,.countup-details){display:contents}.general-anniversary-card :is(.anniversary-card-content,.countup-title){grid-area:1/1;min-height:0;display:block}.general-anniversary-card .anniversary-symbol{background:var(--accent-soft);border-radius:10px;width:36px;height:40px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.general-anniversary-card :is(.anniversary-copy>h2,.anniversary-copy>span:not(.general-anniversary-summary),.countup-title>h2,.countup-info>span){display:none}.general-anniversary-card .general-anniversary-summary{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:20px;display:block}.general-anniversary-card :is(.anniversary-date-info,.countup-info){grid-area:2/1;min-height:0;display:block}.general-anniversary-card :is(.anniversary-date-info,.countup-info)>small{font-size:12px;line-height:16px}.general-anniversary-card :is(.anniversary-heading>.badge,.countup-day){grid-area:1/2/span 2;align-self:center}.general-anniversary-card .countup-day{letter-spacing:normal;background:var(--tone-gray-bg);color:var(--tone-gray-text);border-radius:6px;padding:4px 9px;font-size:12px;font-weight:600;line-height:18px}.general-anniversary-card .countup-day.dday-today{background:var(--tone-mint-bg);color:var(--tone-mint-text)}.general-anniversary-card .countup-day.dday-tomorrow{background:var(--tone-amber-bg);color:var(--tone-amber-text)}.general-anniversary-card .row-actions{grid-area:1/3/span 2;align-self:center}}}.timeline-card.detail-card{transition:box-shadow .15s,border-color .15s}.timeline-card.detail-card:is(:hover,:focus-within),.general-anniversary-card:is(:hover,:focus-within){border-color:var(--accent);box-shadow:0 3px 12px #291c421a}.event-members.event-participants{min-width:0;display:block;position:relative}.event-participants-list,.event-participants-measure{align-items:center;gap:inherit;flex-wrap:wrap;min-width:0;display:flex}.event-participant{min-width:0;max-width:100%;color:var(--muted);flex:0 auto;align-items:center;gap:6px;font-size:.75rem;display:inline-flex}.event-participant[hidden]{display:none}.event-participant>.avatar{flex-shrink:0}.event-participant-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.event-participants-list:has(>.event-participants-toggle[aria-expanded=true]) .event-participant-name{white-space:normal;overflow-wrap:anywhere}.event-participants-toggle{max-width:100%;min-height:24px;color:var(--accent-text);font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;flex:none;padding:2px 0;font-size:.75rem;line-height:20px;text-decoration:underline}.event-participants-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.event-participants-measure{visibility:hidden;pointer-events:none;height:0;position:absolute;inset:0 0 auto;overflow:hidden}.event-members.event-participants.event-participants-summary{gap:8px;margin-top:0}.event-participants-summary :is(.event-participants-list,.event-participants-measure){flex-wrap:nowrap}.event-participants-summary .event-participants-measure .event-participant{flex-shrink:0}.event-participants-overflow{color:var(--muted);white-space:nowrap;flex:none;font-size:.75rem}.record-detail dl,.receipt-result-fields{gap:12px;margin-block:16px;display:grid}.record-detail dl>div,.receipt-result-fields>div{grid-template-columns:minmax(72px,100px) minmax(0,1fr);gap:12px;display:grid}.record-detail dt,.receipt-result-fields dt{color:var(--muted)}.record-detail dd,.receipt-result-fields dd{overflow-wrap:anywhere;min-width:0;margin:0}.gift-detail dd .text-button{font:inherit;color:inherit}.gift-detail .gift-ledger-link{width:100%;margin-top:var(--section-gap-large,20px)}.pre-wrap{white-space:pre-wrap}.event-ledger-connections{margin-top:var(--section-gap);padding-top:var(--section-gap);border-top:1px solid var(--line);min-width:0}.event-ledger-connections h3{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.event-ledger-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.event-ledger-list>li{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.event-ledger-list>li>:first-child{overflow-wrap:anywhere;min-width:0}.event-ledger-search{align-items:center;gap:8px;display:flex}.event-ledger-search>.search{flex:1;min-width:0}.event-ledger-options{gap:8px;margin-block:12px;display:grid}.event-ledger-options>label{min-height:var(--control-height);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.event-ledger-options input[type=checkbox]{flex:none;width:18px;height:18px;min-height:18px}.event-heading-row{justify-content:space-between;align-items:baseline;gap:8px 16px;min-width:0;display:flex}.event-heading-row>h1,.event-heading-row>span:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.event-heading-row>h1{margin:0}.event-heading-row>.event-heading-side{text-align:right;min-width:0;max-width:42%;color:var(--muted);overflow-wrap:anywhere;flex:0 auto;font-size:.8rem}.event-time-place{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.event-timestamp,.event-header-place{white-space:nowrap;align-items:center;gap:5px;min-width:0;display:flex}.event-timestamp{flex:none}.event-header-place{flex:0 auto;overflow:hidden}.event-header-place>span{text-overflow:ellipsis;overflow:hidden}.event-time-place svg,.story-section-place svg{flex:none}.story-section-place{color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:5px;margin:0 0 12px;font-size:.8125rem;display:flex}.story-section-datetime{color:var(--muted);align-items:center;gap:5px;margin:0 0 8px;font-size:.8125rem;display:flex}.story-section-datetime svg{flex:none}.event-map-toggle{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:.8125rem;display:inline-flex}.event-map-toggle[aria-checked=true]{color:var(--teal-dark)}.event-page-toolbar .event-map-toggle{height:var(--control-height);min-height:var(--control-height);line-height:var(--control-line-height);padding-block:0}.event-map-toggle:focus-visible{outline:2px solid var(--teal-dark);outline-offset:3px}.event-map-toggle-track{background:var(--line);border-radius:12px;align-items:center;width:28px;height:16px;padding:2px;display:flex}.event-map-toggle-track>span{background:var(--surface);border-radius:50%;width:12px;height:12px;transition:transform .15s;box-shadow:0 1px 2px #0002}.event-map-toggle[aria-checked=true] .event-map-toggle-track{background:var(--teal)}.event-map-toggle[aria-checked=true] .event-map-toggle-track>span{transform:translate(12px)}@media (width<=480px){.event-page-toolbar{flex-wrap:wrap}.event-page .event-page-toolbar-actions{gap:4px;margin-left:auto}.event-page-toolbar-actions>.button,.event-map-toggle{padding-inline:6px}}.event-heading-time{margin-top:8px;font-size:.875rem}.event-heading-time>span:first-child{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.audit-outcome{white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-weight:700;display:inline-flex}.audit-outcome.success{color:var(--tone-mint-text);background:var(--tone-mint-bg)}.audit-outcome.warning{color:var(--tone-amber-text);background:var(--tone-amber-bg)}.audit-outcome.failed{color:var(--danger);background:#fce6e6}.audit-outcome.blocked{color:#fff;background:var(--danger)}.login-audit-content tr.audit-row-failed{background:#fff6f6}.login-audit-content tr.audit-row-blocked{background:#fde8e8}.anniversary-grid{margin-bottom:var(--section-gap-large);row-gap:10px}.important-anniversary-group,.gift-summary,.ledger-summary,.filter-panel{margin-bottom:var(--section-gap)}.gift-summary>div>span{margin-bottom:4px}@media (width<=760px){.gift-summary>div:last-child>span{margin-bottom:0}}.gift-summary{padding-bottom:8px}.ledger-statistics,.ledger-statistics-grid,.ledger-entry-detail{row-gap:var(--section-gap)}.section-title{margin-bottom:var(--section-gap-tight)}.schedule-member-filter,.photo-info h3,.ledger-link-panel{margin-top:var(--section-gap)}.schedule-member-filter{margin-top:0;margin-bottom:var(--section-gap)}.main .responsive-calendar .schedule-member-filter{box-shadow:none;background:0 0;border:0;padding:0}.schedule-member-filter>summary.button{width:100%;height:var(--control-height);padding-block:0;list-style:none}.schedule-member-filter>summary.button::-webkit-details-marker{display:none}.schedule-filter-panel{padding:var(--card-padding-block) var(--card-space);border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);min-width:0;margin-top:12px}.schedule-filter-panel>.search{margin:0 0 12px}.schedule-filter-panel>.schedule-group-tabs{margin-bottom:0}.schedule-member-filter .schedule-filter-panel>.filter-checks{margin-block:8px;padding-top:0}.event-members,.mobile-sessions,.ledger-photos{margin-top:var(--section-gap-tight)}.ledger-detail-tags{margin-bottom:var(--section-gap-tight)}.ledger-category-columns,.gallery-intro{row-gap:var(--section-gap-tight)}.editor-form>.dialog-body>.segmented,.welcome-row{margin-bottom:12px}.gallery-media-labels{color:#fff;pointer-events:none;background:linear-gradient(#0000,#000c);flex-direction:column;align-items:flex-start;gap:2px;padding:4px;font-size:.625rem;line-height:1.4;display:flex;position:absolute;inset:auto 0 0}.gallery-event-used{overflow-wrap:anywhere;background:#303030d9;border-radius:3px;max-width:100%;padding:2px 4px}.gallery-media-labels .photo-used{font-size:inherit;border-radius:3px;max-width:100%;padding:2px 4px;position:static}.gallery-uploader{white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #000;max-width:100%;display:block;overflow:hidden}.exif-tabs{gap:8px;margin-bottom:16px;display:flex}.exif-tag-table{table-layout:fixed;border-collapse:collapse;width:100%}.exif-tag-table th,.exif-tag-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap;padding:10px 8px}.exif-tag-table th{width:38%}.exif-tag-table small{color:var(--muted);font-weight:400;display:block}.exif-tag-table summary{cursor:pointer}.exif-tag-table details>div{margin-top:8px}.photo-exif-dialog .metadata dd{overflow-wrap:anywhere}.metadata-manual{color:var(--accent-text);white-space:nowrap;margin-left:6px;font-size:.7rem;display:inline-block}.metadata-edit-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;display:grid}.metadata-edit-field{border:1px solid var(--line);border-radius:12px;min-width:0;padding:12px}.metadata-edit-field .field{margin-bottom:8px}.metadata-edit-field small{overflow-wrap:anywhere;margin:8px 0;display:block}.metadata-edit-field .form-grid{grid-template-columns:1fr;gap:8px}.metadata-edit-field input,.metadata-edit-field select{width:100%;min-width:0}.metadata-review-list{gap:10px;margin-top:16px;display:grid}.metadata-review-list>div{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:10px;padding:12px}.metadata-review-list p{margin:6px 0;font-size:.8125rem}@media (width<=700px){.metadata-edit-fields{grid-template-columns:1fr}.metadata-edit-dialog .dialog-footer{flex-wrap:wrap}}dialog:has(.editor-form)>.dialog-head{padding-block:var(--dialog-head-space)}.editor-form>.dialog-body{padding-block:var(--dialog-body-space)}.editor-form>.dialog-footer{padding-block:var(--dialog-head-space)}.editor-form .field:where(:not(.tag-picker)),.event-edit .field:where(:not(.tag-picker)),.photo-info .field:where(:not(.tag-picker)),.metadata-edit-dialog .field:where(:not(.tag-picker)){margin-bottom:var(--field-space);gap:var(--field-gap)}.editor-form .check{margin-bottom:var(--field-space)}.editor-form .form-section-title{margin-block:var(--section-gap) 10px;padding-bottom:6px}.editor-form .form-hint{margin-block:4px var(--field-space)}.editor-form .segmented{margin-bottom:10px}.event-edit .event-edit-panel{padding-block:var(--card-padding-block);margin-bottom:12px}.event-edit .event-edit-panel+.event-edit-panel{margin-top:12px}.editor-form .filter-checks,.event-edit .filter-checks,.photo-tag-checks{gap:6px 18px}.editor-form .filter-checks label,.event-edit .filter-checks label,.photo-tag-checks label{overflow-wrap:anywhere;max-width:100%;font-weight:400}.filter-checks input[type=checkbox]{flex-shrink:0}.gift-tag-badges{flex-wrap:wrap}.recipient-group>.field:last-child,.recipient-group .form-grid .field{margin-bottom:0}@media (width<=760px){.editor-form .filter-checks label,.event-edit .filter-checks label,.photo-tag-checks label{min-height:44px}}.metadata-edit-dialog>.dialog-head,.metadata-edit-dialog>.dialog-footer{padding-block:var(--dialog-head-space)}.metadata-edit-dialog>.dialog-body{padding-block:var(--dialog-body-space)}.photo-info>h3{margin-block:var(--section-gap) 8px}.member-picker .picker-tools{align-items:center;gap:8px}.member-picker .picker-tools>input{flex:140px;min-width:140px;max-width:180px}.member-picker .picker-tools>select{flex:0 0 112px;width:112px;min-width:112px;padding-right:36px}.member-picker .picker-tools>.check{min-height:var(--control-height);align-items:center;margin:0}.member-picker .choice-grid{scrollbar-gutter:stable;align-content:flex-start;align-items:flex-start;min-height:56px}.member-picker .choice-grid>.muted{overflow-wrap:anywhere;width:100%;margin:0;font-size:13px;line-height:20px}.field{gap:var(--field-gap)}.form-grid{row-gap:var(--form-row-gap)}.check{margin-bottom:var(--field-space)}.form-section-title{margin-block:var(--section-gap) 10px;padding-bottom:6px}.form-hint{margin-block:4px var(--field-space)}.dialog-body>.section-title{margin-top:var(--section-gap)}.profile-facts{padding-block:var(--card-padding-block);margin-bottom:var(--section-gap)}.member-profile{padding-bottom:var(--card-padding-block)}.member-detail-tags{margin-block:var(--section-gap-tight)}.detail-event{padding-block:var(--row-padding-block)}.stat{padding-block:var(--card-padding-block)}.stat-value{margin-block:8px}.event-edit .event-page-toolbar{padding-top:8px}.story-section h2{margin-block:8px 10px}.story-content{margin-bottom:var(--section-gap)}.note-editor,.note-card{margin-block:10px}.note-editor:last-child,.note-card:last-child{margin-bottom:0}.login-audit-filters{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:12px;margin-bottom:16px;display:grid}.login-audit-pagination{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.login-audit-content{min-width:0}.login-account-actions{white-space:nowrap;align-items:center;gap:4px;display:flex}.login-account-actions>.row-actions{flex:none}.login-account-actions>.button{flex:none;padding-inline:8px}.login-audit-content>p,.login-audit-content .table-scroll{margin-bottom:var(--section-gap)}.login-audit-content table{min-width:760px}.login-audit-content td{overflow-wrap:anywhere}.login-audit-content table :is(th,td){font-size:12px}.login-audit-content table :is(small,.badge){font-size:11px}.login-audit-content .field{margin-bottom:0}.sidebar-bottom{gap:var(--section-gap-tight);flex-direction:column;display:flex}.sidebar-bottom .nav-settings{margin:0}.account-lookup{margin:12px 0}.workspace-switcher{flex-shrink:0;gap:8px;padding:6px 0 10px}.workspace-label{color:var(--muted);padding:0 4px;font-size:11px;font-weight:600}.workspace-trigger{width:100%;min-height:var(--control-height);border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:9px;padding:8px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.workspace-trigger:hover,.workspace-trigger.open{border-color:var(--accent-line);background:var(--accent-soft)}.workspace-trigger:focus-visible,.workspace-dropdown button:focus-visible{outline:2px solid var(--accent-focus);outline-offset:2px}.workspace-symbol{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-text);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.workspace-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;line-height:var(--control-line-height);flex:1;overflow:hidden}.workspace-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s}.workspace-trigger.open .workspace-chevron{transform:rotate(180deg)}.workspace-dropdown{z-index:500;border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;padding:8px;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 36px #26213d20}.workspace-dropdown-heading{color:var(--muted);flex-shrink:0;padding:8px 12px;font-size:11px;font-weight:600}.workspace-options{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.workspace-option,.workspace-create{width:100%;min-height:var(--control-height);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.workspace-option:hover,.workspace-option:focus,.workspace-create:hover,.workspace-create:focus{background:var(--soft)}.workspace-option.selected{background:var(--accent-soft);color:var(--accent-text)}.workspace-option-copy{flex:1;min-width:0}.workspace-option-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.workspace-option-copy small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.workspace-selected-check{color:var(--accent-text);flex-shrink:0}.workspace-menu-footer{border-top:1px solid var(--line);flex-shrink:0;margin-top:6px;padding-top:6px}.workspace-create{color:var(--accent-text);font-size:13px;font-weight:600}.workspace-menu-status{color:var(--muted);margin:0;padding:10px;font-size:12px}@media (prefers-reduced-motion:reduce){.workspace-trigger,.workspace-chevron{transition:none}}:root{--calendar-weekend:#c62828;--calendar-weekend-soft:#ffe7e7}.event-tag-filter-group{border:0;min-width:0;margin:0;padding:0}.event-tag-filter-group>legend{float:left;overflow-wrap:anywhere;width:100%;margin-bottom:8px;padding:0;font-size:.875rem;font-weight:600;line-height:1.5}.event-tag-filter-group>.filter-checks{clear:both}.event-tag-filter-group>.button{margin-top:12px}.tag-settings>.panel,.tag-settings .option-row{min-width:0}.tag-settings>.panel:last-child{grid-column:auto}.tag-settings .option-row>.badge,.tag-settings .option-row>span{overflow-wrap:anywhere;min-width:0}.tag-settings .row-actions{flex-shrink:0}.dashboard-pair .dashboard-anniversary.today{padding-inline:10px}.dashboard-anniversary>div{overflow-wrap:anywhere;flex:1;min-width:0}.dashboard-anniversary>.badge{flex-shrink:0}.responsive-calendar .week-labels>.weekend,.responsive-calendar .calendar-cell.weekend .cell-day,.responsive-calendar .calendar-cell.weekend .compact-cell-day>span:first-child{color:var(--calendar-weekend)}.responsive-calendar .calendar-cell.weekend.outside .cell-day,.responsive-calendar .calendar-cell.weekend.outside .compact-cell-day>span:first-child{color:var(--calendar-weekend);opacity:.55}.responsive-calendar .calendar-cell.weekend .cell-day.today,.responsive-calendar .calendar-cell.weekend .compact-cell-day.today>span:first-child{color:var(--calendar-weekend);background:var(--calendar-weekend-soft);opacity:1}.expanded-cell-content .calendar-event.timed{white-space:normal;overflow-wrap:anywhere}.expanded-cell-content .calendar-event.timed>span{line-height:1.5;display:block}.schedule-scope,.schedule-recurrence,.repeat-weekdays{min-width:0;margin:0 0 18px;margin-bottom:var(--field-space);border:0;padding:0}.schedule-scope>legend,.schedule-recurrence>legend,.repeat-weekdays>legend{margin-bottom:var(--field-gap);font-size:.875rem;font-weight:600}.schedule-recurrence{border:1px solid var(--line);border-radius:10px;padding:14px}.schedule-recurrence>legend{margin:0;padding-inline:5px}.schedule-recurrence>.field:last-child,.schedule-recurrence>.form-grid .field{margin-bottom:0}.repeat-weekdays{margin:14px 0;margin-block:10px}.recurrence-warning{margin-bottom:var(--field-space);align-items:flex-start}.recurrence-warning>svg{flex-shrink:0;margin-top:3px}.recurrence-warning p{overflow-wrap:anywhere;margin:0;line-height:1.7}.schedule-editor .form-grid>*{min-width:0}.schedule-editor .dialog-footer{flex-wrap:wrap}@media (width<=760px){.schedule-editor .form-grid{grid-template-columns:minmax(0,1fr)}}.week-labels{text-align:center;color:#92a38f;grid-template-columns:repeat(7,1fr);font-size:.75rem;display:grid}.mini-calendar .week-labels{margin-bottom:10px}.calendar-scroll{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:auto}.calendar-board{min-width:660px}.calendar-board>.week-labels{background:#f9fbf8;align-items:center;height:48px;font-size:.75rem}.calendar-cells{grid-template-columns:repeat(7,1fr);display:grid}.calendar-cell{border-right:1px solid var(--line);border-top:1px solid var(--line);min-height:122px;padding:7px 6px}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.outside{background:#fafcf9}.cell-day{color:#7d9075;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:5px 7px;font-size:.75rem;display:flex}.cell-day svg{opacity:0}.cell-day:hover svg{opacity:1}.cell-day.today{color:#37603d;background:#e5efdd;font-weight:600}.calendar-hint{align-items:center;gap:8px;margin-top:15px;display:flex}.calendar-hint>span:last-child{margin-left:auto}@container page (width<=760px){.calendar-hint{flex-wrap:wrap;font-size:.75rem}.calendar-hint>span:last-child{width:100%;margin-left:0}}.calendar-scroll{border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow)}.week-labels{color:var(--muted)}.calendar-board>.week-labels,.calendar-cell.outside{background:#fafafa}.calendar-cell.outside .cell-day{color:#b5b5b5}.cell-day{color:#737373}.cell-day:hover{background:var(--soft)}.cell-day.today{background:var(--accent);color:var(--text)}.responsive-calendar{min-width:0;container:calendar/inline-size}.responsive-calendar .calendar-cells{grid-template-columns:repeat(7,minmax(0,1fr))}.responsive-calendar .calendar-cell{min-width:0;position:relative}.responsive-calendar .calendar-cell.selected{box-shadow:inset 0 0 0 2px var(--accent-text)}.compact-cell-day,.selected-day-agenda{display:none}.expanded-cell-content .cell-add{position:absolute;top:3px;right:3px}.expanded-cell-content .calendar-event svg{vertical-align:middle;margin-right:3px}.selected-day-item{border:0;border-bottom:1px solid var(--border,#eee);text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;align-items:center;gap:10px;padding:10px 0;display:flex}.selected-day-item>div{flex:1;min-width:0}.selected-day-item strong{overflow-wrap:anywhere;display:block}.selected-day-item small{color:var(--muted);margin-top:4px;display:block}.selected-day-item strong svg{margin-left:5px}.responsive-calendar .calendar-toolbar{gap:8px}@container calendar (width<700px){.responsive-calendar .calendar-board{width:100%;min-width:0}.responsive-calendar .calendar-scroll{overflow:visible}.responsive-calendar .calendar-cells{grid-template-columns:repeat(7,minmax(0,1fr))}.responsive-calendar .calendar-cell{height:56px;min-height:56px;padding:0;overflow:hidden}.responsive-calendar .expanded-cell-content{display:none}.compact-cell-day{cursor:pointer;width:100%;height:56px;color:inherit;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:1px;padding:3px 0;font-size:12px;display:flex;position:relative}.compact-cell-day.today>span:first-child{background:var(--accent);color:var(--text);border-radius:50%;width:19px;height:19px}.calendar-count{background:var(--accent-soft);border-radius:9px;max-width:100%;padding:0 5px;font-size:10px;font-weight:650;line-height:14px}.calendar-kind-icons{color:var(--muted);align-items:center;gap:2px;height:12px;display:flex}.selected-day-agenda{margin-top:14px;padding:12px;display:block}.selected-day-agenda h3{margin:14px 0 2px;font-size:13px}.selected-day-agenda>.section-title{flex-wrap:wrap;gap:8px}.selected-day-agenda .button{min-height:var(--control-height);padding:8px;padding-block:var(--control-padding-block)}.responsive-calendar .month-nav h2{white-space:nowrap;font-size:16px}.responsive-calendar .month-nav .icon-button{width:36px;height:var(--control-height)}.responsive-calendar .calendar-toolbar .toolbar-spacer{display:none}.responsive-calendar .calendar-toolbar>.button{min-height:var(--control-height);padding:8px;padding-block:var(--control-padding-block)}.responsive-calendar .calendar-toolbar>.segmented button{min-height:var(--control-height);padding:8px;padding-block:var(--control-padding-block)}.responsive-calendar .week-labels span{padding:8px 0}.calendar-hint{flex-wrap:wrap}.responsive-calendar .schedule-member-filter{padding:10px 12px}.responsive-calendar .month-nav h2{min-width:0;font-size:14px}.responsive-calendar .month-nav{flex:0 auto;gap:0}.responsive-calendar .calendar-toolbar{justify-content:space-between;gap:5px;margin-bottom:14px}.responsive-calendar .calendar-toolbar>.segmented{margin-left:0}.responsive-calendar .calendar-toolbar>.segmented button{padding-inline:8px;padding-block:var(--control-padding-block);font-size:12px}.responsive-calendar .month-nav .icon-button{width:30px}}.calendar-kind-icons .kind-schedule{color:var(--accent-text)}.calendar-kind-icons .kind-anniversary{color:var(--tone-purple-text)}.calendar-cell.outside .compact-cell-day{color:#aaa}@container calendar (width<700px){.calendar-day-markers .calendar-count{flex-shrink:0;padding:0 3px;font-size:9px;line-height:14px}.calendar-day-markers .calendar-kind-icons{gap:1px}.calendar-kind-icons svg{flex-shrink:0;width:10px;height:10px}}@container calendar (width<360px){.calendar-day-markers .calendar-count{padding:0 2px;font-size:8px}.calendar-kind-icons svg{width:8px;height:8px}}.responsive-calendar .calendar-scroll{overflow:hidden}.responsive-calendar .calendar-board{width:100%}.compact-cell-day:focus-visible{outline:2px solid var(--accent-focus);outline-offset:-3px;border-radius:4px}.permission-locked{border:0;min-width:0;margin:0;padding:0}.permission-locked:disabled{opacity:.65}.permission-self{max-width:720px;margin:auto}.self-profile-page{gap:var(--section-gap);width:100%;min-width:0;max-width:none;margin-inline:auto;display:grid}.self-profile-page :is(.permission-self,.permissions-page){width:100%;max-width:none}.self-profile-page .permission-menus{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.self-profile-page>*{width:100%;min-width:0}.self-profile-page .permissions-page>.panel{margin-top:0}.permission-self .self-profile-save{width:100%;margin-top:var(--section-gap);display:flex}.permission-self .panel{padding:24px;padding-block:var(--card-padding-block)}.gallery-bulk-toolbar{z-index:15;background:var(--surface,#fff);border:1px solid var(--border,#d8d2e7);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;padding:14px;padding-block:10px;display:flex;position:sticky;top:0;box-shadow:0 3px 12px #291c4214}.gallery-bulk-toolbar small{color:var(--muted,#625d72);flex-basis:100%}.bulk-review{background:var(--accent-soft);margin-block:var(--section-gap);padding:16px;padding-block:var(--card-padding-block);border-radius:12px}.permission-self fieldset{border:0;margin:0;padding:0}@media (width<=700px){.gallery-bulk-toolbar{gap:8px;padding:10px;padding-block:10px;top:0}.gallery-bulk-toolbar strong{flex:1 0 100%}.gallery-bulk-toolbar .button{flex:1;min-width:120px}.gallery-bulk-toolbar small{font-size:12px}}.phone-editor-row{grid-template-columns:90px minmax(100px,1fr) auto auto;align-items:center;gap:6px;margin-bottom:8px;display:grid}.phone-editor-row .button{white-space:nowrap;padding:7px}.member-tabs{margin-bottom:var(--section-gap);flex-wrap:wrap;gap:8px;display:flex}.member-tabs button{min-height:var(--control-height)}.member-tabs .button:focus-visible{outline-offset:3px}.dashboard-anniversary{text-align:left;width:100%;color:inherit;background:0 0;border:0}.badge.dday-today{background:var(--tone-pink-bg);color:var(--tone-pink-text);font-weight:700}.badge.dday-tomorrow{background:var(--tone-purple-bg);color:var(--tone-purple-text)}.member-account-link{border:1px solid var(--line);border-radius:8px;margin:15px 0;padding:12px}.member-account-link .field{margin-bottom:10px}.phone-editor legend{margin-bottom:8px}@media (width<=700px){.phone-editor-row{grid-template-columns:80px minmax(0,1fr)}.phone-editor-row .button{min-height:var(--control-height)}.member-tabs{margin-bottom:var(--section-gap);overflow:visible}.member-tabs button{white-space:nowrap;min-height:var(--control-height)}}.main{min-width:0;container:page/inline-size}.main :is(.member-grid,.settings-grid,.tag-settings){gap:20px;row-gap:var(--section-gap);display:grid}.main .settings-facts{gap:20px;display:grid}.main .filter-inputs{gap:14px;margin-bottom:14px;display:grid}.main .dashboard-pair{gap:22px;row-gap:var(--section-gap);margin-bottom:var(--section-gap-large);display:grid}.main .stats-grid{margin-bottom:var(--section-gap-large);grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.dashboard-main{min-width:0;container:dashboard/inline-size}.main :is(.panel,.query-field,.field,.heading-title,.form-grid>*){min-width:0}.main :is(.field,.query-field)>:is(input,select,textarea){min-width:0;max-width:100%}.main :is(.section-title,.ledger-section-heading){flex-wrap:wrap}.main :is(.section-title,.ledger-section-heading)>:is(h2,h3,div){overflow-wrap:anywhere;min-width:0}.main :is(.section-title,.ledger-section-heading)>.button{white-space:normal;max-width:100%}.main .toolbar:not(.gallery-toolbar):not(.ledger-toolbar){gap:8px 12px}.main .toolbar:not(.gallery-toolbar):not(.ledger-toolbar)>.search{min-width:0;max-width:100%;height:var(--control-height);row-gap:8px}.main .toolbar .search input{row-gap:8px;min-width:0}.main .member-toolbar{grid-template-columns:minmax(240px,1.3fr) repeat(2,minmax(120px,.7fr)) max-content;align-items:center;display:grid}.main .member-toolbar>.search{width:100%}.main .member-toolbar>select{width:100%;min-width:0;max-width:none;height:var(--control-height)}.member-toolbar-actions{align-items:center;gap:8px;min-width:0;display:flex}.member-toolbar-actions>.button{height:var(--control-height);min-height:var(--control-height)}.main .member-toolbar-actions .deceased-filter{min-width:0;margin:0}.main .member-toolbar-actions .segmented{height:var(--control-height)}.main .member-toolbar-actions .segmented button{min-height:calc(var(--control-height) - 10px);place-items:center;padding:0 8px;display:grid}.main .gift-toolbar{grid-template-columns:minmax(96px,160px) minmax(210px,320px) max-content;align-items:center;display:grid}.gift-search-row{align-items:center;gap:8px;min-width:0;display:flex}.gift-search-row>.filter-multi-compact{flex:1;min-width:0}.gift-search-row .filter-multi-compact .gallery-filter-choices{left:-1px;right:auto}.gift-filter-selects{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.gift-filter-summary{flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:8px;padding:10px 2px;font-size:13px;display:flex}.gift-filter-summary strong{font-variant-numeric:tabular-nums;font-weight:600}@media (width<=760px){.gift-filter-selects{grid-template-columns:minmax(0,1fr)}}.main .gift-toolbar>.segmented{min-width:0;height:var(--control-height);gap:4px;padding:4px}.main .gift-toolbar>.segmented button{min-width:0;min-height:calc(var(--control-height) - 10px);flex:1;padding:0 12px}.main .gift-toolbar>.button{height:var(--control-height);min-height:var(--control-height)}.main .shared-member-toolbar{grid-template-columns:minmax(0,1fr) auto;display:grid}.main .shared-member-toolbar>input{width:100%;min-width:0}.shared-member-actions{min-width:0;max-width:100%}.shared-member-actions>.button{min-height:var(--control-height);white-space:normal;max-width:100%}.shared-member-actions>.form-hint{overflow-wrap:anywhere;max-width:280px}.main .event-query-tools{grid-template-columns:minmax(0,1.4fr) minmax(140px,.8fr) minmax(280px,1.5fr);gap:8px 12px}.main .event-date-range{grid-column:auto}.event-query-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;min-width:0;display:flex}.main .event-query-actions>.button{min-height:var(--control-height);white-space:normal;max-width:100%}.main .event-query-actions>.event-range-reset{padding:8px 12px;padding-block:var(--control-padding-block)}.main .event-page-toolbar{flex-wrap:wrap;gap:8px}.event-page-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.main .family-tree-view .toolbar{grid-template-columns:minmax(0,max-content) minmax(0,1fr);align-items:center;row-gap:8px;display:grid}.family-toolbar-actions{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.family-toolbar-actions>.button{min-width:0}.main .calendar-toolbar{grid-template-columns:auto auto minmax(180px,1fr) auto;align-items:center;display:grid}.main .calendar-toolbar>.toolbar-spacer{row-gap:8px;display:none}.main .calendar-toolbar .month-nav{gap:0;min-width:0}.main .calendar-toolbar .desktop-calendar-search{min-width:0}.main .calendar-toolbar .desktop-calendar-search .search{width:100%;min-width:0;height:var(--control-height)}.main .calendar-toolbar>.segmented{min-width:0;height:var(--control-height);gap:4px;margin-left:0;padding:4px}.main .calendar-toolbar>.segmented button{min-width:0;min-height:calc(var(--control-height) - 10px);flex:1;padding:0 12px}.main .calendar-toolbar>.button{min-height:var(--control-height)}.main .schedule-group-tabs{flex-wrap:wrap;max-width:100%}@container calendar (width<700px){.main .schedule-group-tabs{flex-wrap:nowrap;width:100%;display:flex}.main .schedule-group-tabs>button{flex:1 1 0;min-width:0;padding-inline:8px}}.main .schedule-member-filter .search{min-width:0}.main .member-grid,.main .settings-grid,.main .tag-settings{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.main .settings-grid>.panel:last-child,.main .tag-settings>.panel:last-child{grid-column:auto}.main .settings-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.main .settings-facts strong{overflow-wrap:anywhere}.main .role-comparison{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.main .permission-menus{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.main .dashboard-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.main .recent-events{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.main .filter-inputs{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.main .filter-inputs label{min-width:0}.main .filter-inputs input{min-width:0;max-width:100%}dialog .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}dialog .form-grid>*,dialog .field{min-width:0}dialog .field>:is(input,select,textarea){min-width:0;max-width:100%}dialog :is(.dialog-footer,.section-title){flex-wrap:wrap}dialog .section-title>:is(h2,h3){overflow-wrap:anywhere;min-width:0}@container page (width<=1100px){.main .member-toolbar{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,.7fr))}.member-toolbar-actions{grid-column:1/-1;justify-content:flex-end}}@container page (width<=1000px){.main .family-tree-view .toolbar{grid-template-columns:minmax(0,1fr);row-gap:8px}.family-toolbar-actions{grid-column:1/-1}.family-toolbar-actions>.button{flex:120px}}@container page (width<=800px){.main .gift-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.main .gift-toolbar>.button{grid-column:1/-1;width:100%}.main .event-query-tools{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:8px;display:grid}.main .event-query-tools>.query-field:first-child{grid-area:1/1/auto/5}.main .event-query-tools>.query-field:nth-child(2){grid-area:1/5/auto/-1;justify-self:stretch;width:100%}.main .event-query-tools :is(.event-date-range,.event-query-actions){display:contents}.main .event-date-range>.range-field{grid-area:2/span 2}.main .event-query-actions>.button{grid-column:span 3}.main .event-query-actions>.event-tag-filter-toggle{grid-area:2/5/auto/-1;padding-inline:4px;font-size:12px}.main .event-date-range input[type=date]{padding-inline:4px;font-size:12px}.main .event-date-range input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}.main .event-date-range input[type=date]::-webkit-calendar-picker-indicator{width:10px;margin:0;padding:0}}@container page (width<=600px){.main .member-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.main .member-toolbar>.search{grid-column:1/-1}.member-toolbar-actions{flex-wrap:wrap;justify-content:space-between}.main .gift-toolbar{grid-template-columns:minmax(0,1fr);gap:8px}.gift-search-row>.filter-multi-compact{flex-basis:96px}.main .shared-member-toolbar{grid-template-columns:minmax(0,1fr)}.main .event-page-toolbar-actions>.muted{display:none}.main .event-query-actions{justify-content:flex-start}.main .event-query-actions>.button{flex:120px}}@container page (width<=480px){.main .member-toolbar-actions{grid-template-columns:minmax(0,1fr) auto;width:100%;display:grid}.main .member-toolbar-actions>.button{grid-column:1/-1;width:100%}.main .member-toolbar-actions>.segmented{justify-self:start}}@container calendar (width<=800px){.main .calendar-toolbar{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.main .calendar-toolbar>.month-nav{grid-area:1/1}.main .calendar-toolbar>.button{grid-area:1/2}.main .calendar-toolbar>.segmented{grid-area:1/3}.main .calendar-toolbar>.desktop-calendar-search{grid-area:2/1/auto/-1}}@container calendar (width<=480px){.main .calendar-toolbar{grid-template-columns:minmax(0,1fr) auto}.main .calendar-toolbar>.month-nav{justify-content:center;gap:12px}.main .calendar-toolbar>.button{padding-inline:16px}.main .calendar-toolbar>.segmented{grid-area:2/1/auto/-1}.main .calendar-toolbar .month-nav h2{min-width:0;font-size:16px}.main .calendar-toolbar .month-nav .icon-button{flex-shrink:0;width:30px}.main .calendar-toolbar .month-nav .icon-button svg{width:21px;height:21px}}@container dashboard (width<=850px){.main .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container dashboard (width<=340px){.main .stats-grid{grid-template-columns:minmax(0,1fr)}}.responsive-member-list{min-width:0;container:members/inline-size}.responsive-gift-list{min-width:0;container:gifts/inline-size}.responsive-member-list .table-panel,.responsive-gift-list .table-panel{min-width:0;overflow:hidden}.member-table,.gift-table{--list-action-space:calc(2 * var(--control-height) + 4px);width:100%;display:block;min-width:0!important}.member-table thead,.member-table tbody,.gift-table thead,.gift-table tbody{display:block}.table-scroll :is(.member-table,.gift-table) tr{grid-template-columns:var(--list-columns);padding:var(--row-padding-block) 20px;align-items:center;column-gap:12px;display:grid}.table-scroll :is(.member-table,.gift-table) :is(th,td){white-space:normal;overflow-wrap:anywhere;border:0;width:auto;min-width:0;margin:0;padding:0;display:block}.table-scroll :is(.member-table,.gift-table) thead{border-bottom:1px solid var(--line);color:var(--muted)}.table-scroll :is(.member-table,.gift-table) th{text-align:left;min-height:1em;font-size:12px;font-weight:600}.table-scroll :is(.member-table,.gift-table) tbody tr+tr{border-top:1px solid var(--line)}.member-table small,.gift-table small{display:block}.member-table .name-cell{text-align:left;gap:8px;width:100%;min-width:0}.member-table .name-cell strong{overflow-wrap:anywhere;min-width:0}.member-table .col-select input{vertical-align:middle;width:18px;height:18px;margin:0}.member-table .col-birth span{white-space:nowrap;font-variant-numeric:tabular-nums}.member-table .member-name-relation{display:none}.member-table .col-tags .badge{white-space:normal;overflow-wrap:anywhere;max-width:100%}.member-card-relation{color:var(--muted);margin-top:6px;font-size:13px}.member-table{--member-select-track: ;--member-relation-track: ;--member-name-width:clamp(160px,20cqw,220px);--list-columns:var(--member-select-track) var(--member-name-width) var(--member-relation-track) minmax(64px,.55fr) 120px minmax(128px,1fr) minmax(0,1fr) var(--list-action-space)}.member-table.with-relations{--member-relation-track:minmax(72px,.65fr)}.member-table.selecting{--member-select-track:24px}.gift-table{--list-columns:56px minmax(0,1.6fr) minmax(0,.85fr) 120px minmax(0,1.2fr) 128px var(--list-action-space)}.table-scroll .gift-table .col-date{white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums;padding-inline:12px}.gift-table .text-button{text-align:left;white-space:normal;overflow-wrap:anywhere;min-height:var(--control-height);padding:0;font-weight:650}.gift-table .money{font-size:inherit;white-space:normal;overflow-wrap:anywhere}.table-scroll .gift-table .col-amount{text-align:right;font-variant-numeric:tabular-nums}.gift-table .gift-recipient-date{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;display:none}.gift-table .gift-tag-badges{gap:4px;margin:0}.gift-table .gift-tag-badges .badge{white-space:normal;overflow-wrap:anywhere;max-width:100%}@container members (width<1000px){.member-table{--list-columns:var(--member-select-track) var(--member-name-width) var(--member-relation-track) 120px minmax(128px,1fr) var(--list-action-space)}.table-scroll .member-table :is(.col-group,.col-tags){display:none}}@container gifts (width<1000px){.gift-table{--list-columns:56px minmax(0,1.6fr) minmax(0,.85fr) 120px 128px var(--list-action-space)}.table-scroll .gift-table .col-place{display:none}}@container members (width<800px){.member-table.with-relations{--member-relation-track: }.table-scroll .member-table .col-relation{display:none}.member-table .member-name-relation{color:var(--muted);word-break:keep-all;overflow-wrap:anywhere;font-size:12px;font-weight:400;line-height:1.5;display:inline}.table-scroll .member-table tr{column-gap:10px;padding-inline:16px}}@container gifts (width<800px){.gift-table{--list-columns:56px minmax(0,1fr) 120px 128px var(--list-action-space)}.table-scroll .gift-table .col-category{display:none}.table-scroll .gift-table tr{column-gap:10px;padding-inline:16px}}@container members (width<640px){.member-table{--list-columns:var(--member-select-track) minmax(0,1.4fr) minmax(0,1fr) var(--list-action-space)}.table-scroll .member-table .col-birth{display:none}.table-scroll .member-table tr{column-gap:8px;padding-inline:12px}.member-table .avatar{flex:0 0 26px;width:26px;height:26px}.member-table .avatar svg:not(.mourning-ribbon){width:17px;height:17px}.member-table .name-cell{min-height:var(--control-height);gap:5px}}@container gifts (width<640px){.gift-table{--list-columns:56px minmax(0,1fr) 112px var(--list-action-space)}.table-scroll .gift-table .col-date{display:none}.table-scroll .gift-table .col-amount{font-size:13px}.table-scroll .gift-table tr{column-gap:8px;padding-inline:12px}.gift-table .gift-recipient-date{display:block}}@container members (width<480px){.member-table{--list-columns:var(--member-select-track) minmax(0,1fr) var(--list-action-space)}.member-table thead{display:none}.table-scroll .member-table tr{row-gap:4px}.member-table .col-name{grid-area:1/1/auto/-1}.member-table .col-phone{grid-area:2/1}.member-table .col-manage{grid-area:2/2}.member-table.selecting .col-select{grid-area:1/1/3}.member-table.selecting .col-name{grid-column:2/-1}.member-table.selecting .col-phone{grid-column:2}.member-table.selecting .col-manage{grid-column:3}}@container gifts (width<480px){.gift-table{--list-columns:56px minmax(0,1fr) 112px}.gift-table thead{display:none}.table-scroll .gift-table tr{row-gap:4px}.gift-table .col-manage{grid-area:2/2/auto/-1}}.row-actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:4px;display:flex}.row-actions .icon-button{width:var(--control-height);height:var(--control-height);min-width:var(--control-height);min-height:var(--control-height);flex:0 0 var(--control-height);place-items:center;padding:0;display:grid}.row-actions .icon-button svg{flex-shrink:0;width:16px;height:16px}.row-actions .danger-text{color:var(--danger)}.event-map-toggle-label-short{display:none}@media (width<=700px){.event-map-toggle-label-wide{display:none}.event-map-toggle-label-short{display:inline}.row-actions:not(.section-title .row-actions),.table-scroll :is(.member-table,.gift-table) .col-manage{display:none}}@container members (width<700px){@media (width<=700px){.member-table{--list-columns:var(--member-select-track) minmax(0,1.4fr) minmax(0,1fr)}.table-scroll .member-table .col-birth{display:none}}}@container members (width<480px){@media (width<=700px){.member-table{--list-columns:var(--member-select-track) minmax(0,1fr)}.member-table .col-phone{grid-column:1/-1}.member-table.selecting .col-phone{grid-column:2/-1}}}@container gifts (width<700px){@media (width<=700px){.gift-table{--list-columns:56px minmax(0,1fr) 112px}.table-scroll .gift-table .col-date{display:none}.gift-table .gift-recipient-date{display:block}}}.shared-member-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.direction-badge{white-space:nowrap;white-space:nowrap;border-radius:6px;flex-shrink:0;place-self:center start;width:max-content;max-width:none;padding:4px 10px;font-size:.75rem;line-height:1.4}.badge.transfer{background:var(--tone-blue-bg);color:var(--tone-blue-text)}.gift-direction-picker{width:100%}.gift-direction-picker>button{flex:1;min-width:0}.page-heading{align-items:center;gap:8px 16px;min-width:0;margin-bottom:12px;display:flex}.page-heading .heading-title{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.page-heading .heading-title>div{min-width:0}.page-heading h1{letter-spacing:-.045em;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:1.75rem;line-height:1.3}.page-heading :is(.eyebrow,p.muted){display:none}.page-heading :is(.page-heading-actions,.page-heading-secondary){flex:none;align-items:center;gap:8px;min-width:0;display:flex}.page-heading .button{white-space:normal;min-width:0;max-width:100%;margin:0}.heading-add-short{display:none}.member-name-copy{flex-flow:wrap;align-items:baseline;gap:0 6px;min-width:0;display:flex}.gift-recipient-copy{min-width:0;display:block}.gift-sender-name{color:var(--muted);margin-bottom:2px;font-size:12px;line-height:1.5}.gift-table .gift-recipient-copy .text-button{min-height:0;line-height:1.5;display:inline}.gift-table .recipient-relations{color:var(--muted);word-break:keep-all;margin:0 0 0 6px;font-size:11px;line-height:1.5;display:inline}.gift-table .recipient-relations:empty{display:none}@container page (width<=600px){.page-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;display:grid}.page-heading .heading-title{grid-area:1/1;gap:8px}.page-heading h1{font-size:1.5rem}.page-heading .page-heading-actions{grid-area:1/2;justify-self:end}.page-heading .page-heading-secondary{flex-wrap:wrap;grid-area:2/1/auto/-1}.page-heading .page-heading-secondary>.button{flex:1}.page-heading .heading-add-wide{display:none}.page-heading .heading-add-short{display:inline}}.connection{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:20px 0;display:flex}.connection-info{flex:1;min-width:0}.connection-info strong{word-break:break-all;font-size:.875rem}.connection-info small{font-size:.75rem;display:block}@container page (width<=1050px){.connection{flex-wrap:wrap}}@container page (width<=760px){.connection-info{flex-basis:calc(100% - 55px)}.connection>.badge{margin-left:55px}.connection .button{font-size:.75rem}}.connection-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}@container page (width<=1050px){.connection-actions{flex-basis:100%}}@container page (width<=480px){.direction-badge{padding:4px 7px}}
