@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--plum-900: #09200b;--plum-800: #18361a;--plum-700: #265329;--plum-600: #456f46;--plum-100: #cce6cc;--plum-50: #e5f3e4;--cream: #f4f8f5;--cream-dark: #cfd7d0;--coral: #d46246;--coral-hover: #ae452b;--coral-light: #ffded4;--green: #4a9e6e;--green-light: #e3f5eb;--amber: #d4973b;--amber-light: #fdf3e0;--red: #c94444;--red-light: #fce8e8;--gray-400: #8c958d;--gray-500: #616962;--gray-600: #505b52;--gray-800: #19221a;--white: #fafdfa;--avatar-1: #2772d2;--avatar-2: #6b4490;--avatar-3: #3c8059;--avatar-4: #996a22;--avatar-5: #466ae5;--avatar-6: #9e4a6e;--occ-1: #35704e;--occ-2: #3465b0;--occ-3: #865d1e;--occ-4: #a93e63;--occ-5: #6d50c2;--occ-6: #925717;--occ-7: #1a6c95;--occ-any: #ab4228;--stub-free: #3c8059;--stub-taken: #996a22;--stub-expired: #507b62;--topbar-bg: var(--plum-900);--topbar-ink: var(--white);--font-display: "Fraunces Variable", serif;--font-body: "Inter Variable", sans-serif;--radius-xs: 4px;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-card: 0 1px 3px rgba(9,32,11,.06), 0 4px 16px rgba(9,32,11,.06);--shadow-pop: 0 4px 24px rgba(9,32,11,.14), 0 1px 4px rgba(9,32,11,.08);--shadow-ticket: drop-shadow(0 6px 9px rgba(9,32,11,.11));--shadow-ticket-hover: drop-shadow(0 9px 14px rgba(9,32,11,.18));--shadow-ticket-detail: drop-shadow(0 10px 16px rgba(9,32,11,.14));--look-wash: #ebeafc;--look-border: #c6c3f2;--look-strong: #5a55cc;--look-ink: #3b3896;--text-2xs: .75rem;--text-xs: .8125rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.875rem;--leading-tight: 1.25;--leading-body: 1.5;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--hit: 44px;--appbar-h: 56px;--scrim: rgba(9, 32, 11, .4);--z-sticky: 100;--z-sticky-top: 110;--z-panel: 200;--z-drawer: 300;--z-popover: 400;--z-sheet: 500;--z-modal: 600;--z-lightbox: 700;--z-toast: 800;--z-tooltip: 900;--primary-base: var(--plum-600);--danger: #c94444;--danger-hover: #a83434;--on-danger: #ffffff;--danger-text: #b23a3a;--danger-wash: var(--red-light);--chip-given-bg: var(--plum-800);--chip-given-fg: var(--cream);color-scheme:light}[data-theme=dark]{--scrim: rgba(0, 0, 0, .6);--plum-900: #c0e3c0;--plum-800: #a0c2a0;--plum-700: #709c71;--plum-600: #699f6b;--plum-100: #202d20;--plum-50: #151d15;--cream: #121813;--cream-dark: #252b26;--coral: #e57255;--coral-hover: #fa8467;--coral-light: #3e1f17;--green: #5cb87e;--green-light: #152a1e;--amber: #e0a84a;--amber-light: #2a2010;--red: #e05555;--red-light: #2a1515;--gray-400: #5d665f;--gray-500: #89938b;--gray-600: #929b93;--gray-800: #d7e1d9;--white: #1b211c;--avatar-1: #4889dd;--avatar-2: #9e7ac0;--avatar-3: #4a9e6e;--avatar-4: #d4973b;--avatar-5: #6583ea;--avatar-6: #bc7191;--occ-1: #51ac78;--occ-2: #789dd7;--occ-3: #d4973b;--occ-4: #d1829e;--occ-5: #a390d8;--occ-6: #dc8424;--occ-7: #31a3dc;--occ-any: #e67b60;--topbar-bg: var(--plum-100);--topbar-ink: var(--gray-800);--shadow-card: 0 1px 3px rgba(0,0,0,.2), 0 4px 16px rgba(0,0,0,.15);--shadow-pop: 0 4px 24px rgba(0,0,0,.35), 0 1px 4px rgba(0,0,0,.2);--shadow-ticket: drop-shadow(0 6px 9px rgba(0,0,0,.32));--shadow-ticket-hover: drop-shadow(0 9px 14px rgba(0,0,0,.5));--shadow-ticket-detail: drop-shadow(0 10px 16px rgba(0,0,0,.4));--look-wash: #27264a;--look-border: #4a4794;--look-strong: #aaa6ff;--look-ink: #dddbff;--danger-hover: #d65454;--danger-text: #f08a8a;--chip-given-bg: var(--plum-900);--chip-given-fg: #0e160f;color-scheme:dark}:root,.dashboard{--accent-color: var(--accent, var(--plum-600));--accent-ink: var(--accent, var(--plum-700));--accent-ink-strong: var(--accent, var(--plum-800));--accent-brand: var(--accent, var(--coral));--primary: var(--accent, var(--primary-base));--accent-wash: color-mix(in srgb, var(--accent, var(--plum-600)) 5%, var(--white));--accent-hover-bg: color-mix(in srgb, var(--accent, var(--plum-600)) 10%, var(--white));--accent-hover-bg-strong: color-mix(in srgb, var(--accent, var(--plum-600)) 18%, var(--white));--accent-edge: color-mix(in srgb, var(--accent, var(--plum-600)) 35%, transparent);--accent-ring: color-mix(in srgb, var(--accent, var(--plum-600)) 14%, transparent);--accent-on: var(--white)}[data-theme=dark],[data-theme=dark] .dashboard{--accent-ink: color-mix(in srgb, var(--accent, var(--plum-700)) 45%, var(--gray-800));--accent-ink-strong: color-mix(in srgb, var(--accent, var(--plum-700)) 30%, var(--gray-800))}html,body{height:100%;overflow:hidden}#root{height:100%;display:flex;flex-direction:column}body{font-family:var(--font-body);background:var(--cream);color:var(--gray-800);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:300;font-display:block;src:url(/assets/material-symbols-outlined-pN2UQKvS.woff2) format("woff2")}.mat-icon{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:inherit;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.icon-svg{width:1em;height:1em;vertical-align:-.15em;flex-shrink:0}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:var(--text-lg);color:var(--gray-500)}.loading{color:var(--gray-500);padding:2rem;text-align:center}.skeleton{display:block;background:color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--radius-xs);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-bar{height:.7em;max-width:100%}.skeleton-bar-lg{height:.9em}.skeleton-bar-title{height:1.5rem}.skeleton-bar-pill{height:1.6rem;border-radius:var(--radius-pill);flex-shrink:0}.skeleton-circle{width:22px;height:22px;border-radius:50%;flex-shrink:0}.skeleton-circle-sm{width:18px;height:18px;margin-right:.5rem}.avatar.skeleton{color:inherit}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.skeleton,.gift-image-converting{animation:none}}.skeleton-gift-list{color:var(--gray-500)}.skeleton-gift-row{display:flex;align-items:center;gap:.75rem;padding:.95rem 1rem}.skeleton-gift-row:hover{box-shadow:none}.skeleton-gift-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.skeleton-sidebar-row{color:var(--gray-500)}.skeleton-content-header{display:flex;flex-direction:column;gap:.7rem;padding:.4rem 0 1.5rem;color:var(--gray-500)}.skeleton-comment{color:var(--gray-500)}.skeleton-comment-text{flex:1;display:flex;flex-direction:column;gap:.45rem;padding-top:.2rem}.skeleton-comment .comment-avatar{width:28px;height:28px}.group-dropdown-trigger .skeleton-bar{flex:1;max-width:9rem;height:.85em;color:var(--gray-500)}.load-error{display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem .5rem;padding:.4rem .5rem;font-size:var(--text-xs);color:var(--gray-600)}.load-error-retry{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--accent-ink);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.load-error-retry:hover{color:var(--accent-ink-strong)}.section-crash{padding:1rem}.app-crash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:100vh;padding:2rem 1rem;text-align:center;color:var(--gray-600)}.app-crash-icon{width:2.5rem;height:2.5rem;color:var(--gray-500)}.app-crash h1{margin:0;font-size:var(--text-xl);color:var(--gray-800)}.app-crash p{margin:0 0 .5rem;max-width:26rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 20% 50%,var(--plum-100) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,var(--coral-light) 0%,transparent 40%),var(--cream);padding:1rem}.login-card{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:420px;box-shadow:var(--shadow-pop)}.login-header{text-align:center;margin-bottom:2rem}.logo{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--plum-800);letter-spacing:-.02em;display:inline-flex;align-items:center;gap:.55rem;justify-content:center}.logo .brand-logo{flex-shrink:0}.tagline{color:var(--gray-500);margin-top:.25rem;font-size:var(--text-md)}.login-form{display:flex;flex-direction:column;gap:1.1rem}.login-sent{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;color:var(--gray-800)}.login-sent p{margin:0}.login-sent-icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--plum-50);color:var(--plum-700);margin-bottom:.25rem}.login-sent-icon svg{width:1.75rem;height:1.75rem}.login-sent-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;margin:0 0 .25rem}.login-sent-email{font-weight:600;word-break:break-all}.invite-page-group{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.5rem 0 0;font-size:var(--text-lg);font-weight:600;color:var(--gray-800)}.invite-page-note{margin:0;text-align:center;color:var(--gray-600);font-size:var(--text-sm)}.login-sent-hint{font-size:var(--text-sm);color:var(--gray-500);margin:.75rem 0 .5rem!important}.form-group{display:flex;flex-direction:column;gap:.35rem}.recipient-picker{display:flex;flex-wrap:wrap;gap:.35rem}.recipient-option{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-sm);transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.recipient-option:hover{border-color:var(--accent-color);background:var(--accent-hover-bg)}.recipient-option.selected{border-color:var(--accent-color);background:var(--accent-hover-bg);color:var(--accent-ink);font-weight:600}.recipient-option input[type=checkbox]{display:none}.visibility-picker{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.visibility-option{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-sm);transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.visibility-option:hover{border-color:var(--accent-color);background:var(--accent-hover-bg)}.visibility-option.selected{border-color:var(--accent-color);background:var(--accent-hover-bg);color:var(--accent-ink);font-weight:600}.visibility-option input[type=radio]{display:none}.visibility-option .mat-icon{font-size:var(--icon-sm)}.btn-only-me{background:none;border:none;font-size:var(--text-xs);color:var(--gray-500);cursor:pointer;display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .35rem;border-radius:var(--radius-sm);transition:color .15s}.btn-only-me:hover{color:var(--gray-800)}.btn-only-me .mat-icon{font-size:var(--icon-sm)}.mpt-wrap{position:relative}.mpt-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .7rem;background:var(--cream);border:1.5px solid var(--cream-dark);border-radius:var(--radius);cursor:pointer;font-size:var(--text-sm);color:var(--gray-800);text-align:left;transition:border-color .15s;font-family:var(--font-body)}.mpt-trigger:hover,.mpt-trigger.open{border-color:var(--coral)}.mpt-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mpt-trigger-placeholder{color:var(--gray-500)}.mpt-arrow{font-size:var(--icon-md);color:var(--gray-500);flex-shrink:0}.mpt-panel{position:absolute;top:calc(100% + 3px);left:0;right:0;background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);z-index:var(--z-popover);padding:.3rem 0;overflow:visible}.mpt-col-header{display:flex;align-items:center;justify-content:space-between;padding:.25rem .75rem;margin-bottom:.1rem}.mpt-col-recip{display:flex;align-items:center;gap:.25rem;font-size:var(--text-2xs);font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em}.mpt-col-vis{display:flex;align-items:center;gap:.25rem;font-size:var(--text-2xs);font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.mpt-row{display:flex;align-items:center;gap:.6rem;padding:0 .75rem;min-height:46px;transition:background .1s}.mpt-row:hover{background:var(--accent-hover-bg)}.mpt-row.mpt-row-recip{background:color-mix(in srgb,var(--coral) 7%,transparent)}.mpt-row.mpt-row-recip:hover{background:color-mix(in srgb,var(--coral) 12%,transparent)}.mpt-av-btn{flex-shrink:0;display:flex;padding:0;border:none;border-radius:50%;background:none;cursor:pointer}.mpt-av-btn .avatar{transition:box-shadow .12s}.mpt-av-btn:hover .avatar,.mpt-av-btn:focus-visible .avatar{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--coral)}.mpt-av-btn:focus-visible{outline:none}.mpt-name-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:.35rem 0;border:none;background:none;cursor:pointer;font-family:var(--font-body);text-align:left;color:inherit}.mpt-name-btn:hover .mpt-name,.mpt-name-btn:focus-visible .mpt-name{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.avatar.mpt-av{width:30px;height:30px;font-size:.68rem;flex-shrink:0}.avatar.mpt-mark{background:var(--coral);color:var(--white)}.mpt-mark .icon-svg{width:55%;height:55%;stroke-width:3}.avatar.mpt-bulk-avatar{background:var(--cream-dark);color:var(--gray-600)}.mpt-bulk-avatar .icon-svg{width:58%;height:58%}.mpt-name{font-size:var(--text-sm);line-height:1.25;color:var(--gray-800);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;padding-bottom:4px;margin-bottom:-4px}.mpt-sub{font-size:var(--text-2xs);line-height:1.3;color:var(--gray-500)}.mpt-row-recip .mpt-sub{color:var(--gray-600)}.mpt-row-me .mpt-name{font-weight:600}.mpt-row.mpt-row-everyone{min-height:50px;margin:.2rem 0;background:color-mix(in srgb,var(--coral) 6%,var(--white));border-top:1px solid color-mix(in srgb,var(--coral) 16%,transparent);border-bottom:1px solid color-mix(in srgb,var(--coral) 16%,transparent)}.mpt-row.mpt-row-everyone:hover{background:color-mix(in srgb,var(--coral) 11%,var(--white))}.mpt-row-everyone .mpt-name{font-weight:700}.mpt-row-future .mpt-name{color:var(--gray-600)}.mpt-sep{height:1px;background:var(--cream-dark);margin:.25rem .75rem}.mpt-pill-wrap{position:relative;flex-shrink:0}.mpt-pill{display:flex;align-items:center;gap:.3rem;height:32px;padding:0 .45rem 0 .55rem;border-radius:var(--radius-sm);border:1px solid transparent;font-family:var(--font-body);font-size:var(--text-2xs);font-weight:600;cursor:pointer;transition:border-color .12s,filter .12s}.mpt-pill .icon-svg{font-size:var(--icon-sm);flex-shrink:0}.mpt-pill-label{flex:1;display:grid;text-align:left;white-space:nowrap}.mpt-pill-label>*{grid-area:1 / 1}.mpt-pill-sizer{visibility:hidden}.mpt-pill .mpt-pill-caret{font-size:var(--icon-sm);opacity:.8}.mpt-pill:hover,.mpt-pill:focus-visible{border-color:color-mix(in srgb,var(--vis-fg) 45%,transparent);background:color-mix(in srgb,var(--vis-fg) 8%,var(--vis-bg));outline:none}.mpt-pill:hover .mpt-pill-caret{opacity:1}.mpt-pill.open{border-color:var(--coral)}.vis-private{--vis-bg: color-mix(in srgb, var(--gray-400) 15%, var(--white));--vis-fg: var(--gray-600)}.vis-all_without_status{--vis-bg: var(--coral-light);--vis-fg: var(--coral-hover)}.vis-all_with_status{--vis-bg: var(--green-light);--vis-fg: color-mix(in srgb, var(--green) 70%, var(--gray-800))}.mpt-pill{background:var(--vis-bg);color:var(--vis-fg)}.mpt-pill.vis-mixed{background:var(--white);color:var(--gray-600);border-color:var(--cream-dark)}.mpt-pill.vis-mixed:hover{border-color:var(--gray-400);background:var(--accent-hover-bg)}.mpt-pill.vis-mixed.open{border-color:var(--coral)}.mpt-pill-menu{position:absolute;right:0;top:calc(100% + 4px);width:max-content;min-width:100%;background:var(--white);border:1px solid var(--cream-dark);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:4px;z-index:var(--z-popover);display:flex;flex-direction:column;gap:2px;cursor:default}.mpt-pill-menu-title{font-size:var(--text-2xs);color:var(--gray-500);padding:.35rem .6rem .2rem}.mpt-pill-opt{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .6rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--vis-fg);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;text-align:left;cursor:pointer}.mpt-pill-opt .icon-svg{font-size:var(--icon-sm);flex-shrink:0}.mpt-pill-opt:hover:not(:disabled),.mpt-pill-opt.active{background:var(--vis-bg)}.mpt-pill-opt.active{font-weight:700}.mpt-pill-opt:disabled{opacity:.4;cursor:default}.mpt-panel{container-type:inline-size}@media(max-width:600px){.mpt-panel{left:-12px;right:-12px}}@container (max-width: 22rem){.mpt-pill{gap:.2rem;padding:0 .35rem 0 .5rem}.mpt-pill-label{display:none}.mpt-row{gap:.5rem;padding:0 .6rem}}.mpt-summary{margin-top:.5rem}.mpt-sum-title{font-size:var(--text-2xs);font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .2rem}.mpt-sum-line{font-size:var(--text-xs);color:var(--gray-600);line-height:1.5;margin:0}.mpt-sum-line+.mpt-sum-line{margin-top:.15rem}.mpt-sum-line strong{font-weight:700;color:var(--gray-800)}.mpt-info-wrap{position:relative;display:inline-flex;align-items:center;cursor:help}.mpt-info-icon{font-size:var(--icon-sm)!important;color:var(--gray-500);transition:color .12s}.mpt-info-wrap:hover .mpt-info-icon{color:var(--accent-ink)}.mpt-tooltip{position:absolute;top:calc(100% + 5px);background:var(--plum-900);color:var(--white);font-size:var(--text-2xs);font-weight:400;letter-spacing:0;text-transform:none;border-radius:var(--radius-sm);padding:.45rem .6rem;min-width:170px;max-width:220px;white-space:normal;z-index:var(--z-tooltip);pointer-events:none;line-height:1.45;box-shadow:var(--shadow-pop)}.mpt-tooltip-left{left:0}.mpt-tooltip-right{right:0}.mpt-tooltip p{margin:0}.mpt-tooltip-intro{margin-bottom:.25rem;opacity:.75}.mpt-tooltip-row{display:flex;align-items:flex-start;gap:.35rem}.mpt-tooltip-row+.mpt-tooltip-row{margin-top:.2rem}.mpt-tooltip-icon{font-size:var(--icon-sm)!important;flex-shrink:0;margin-top:.05rem}.form-group-header{display:flex;align-items:center;justify-content:space-between;min-height:1.6rem}.form-group-header label{margin-bottom:0}.char-count{font-size:var(--text-2xs);color:var(--gray-500);text-align:right;line-height:1;margin-top:-.15rem}.char-count.char-count-warn{color:var(--amber)}.char-count.char-count-danger{color:var(--red)}.form-group label{font-size:var(--text-xs);font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group select,.form-group textarea{padding:.7rem .85rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-md);background:var(--cream);color:var(--gray-800);transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--plum-600);box-shadow:0 0 0 3px #6b44901f}.form-group.has-error>label{color:var(--red)}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea,.form-group.has-error .mpt-trigger{border-color:var(--red);box-shadow:0 0 0 3px var(--red-light)}.form-group.has-error .occasion-picker{border:1.5px solid var(--red);border-radius:var(--radius);padding:.5rem;background:var(--red-light)}.form-error{color:var(--red);font-size:var(--text-sm);text-align:center}.form-success{color:var(--plum-700);font-size:var(--text-sm);text-align:center}.login-toggle{text-align:center;margin-top:1.5rem;font-size:var(--text-sm);color:var(--gray-500)}.login-privacy{text-align:center;margin-top:1rem;font-size:var(--text-xs);color:var(--gray-500)}.login-privacy a{color:var(--gray-600)}.login-signup-privacy{margin:-.25rem 0 0;font-size:var(--text-xs);color:var(--gray-500)}.login-signup-privacy a{color:var(--plum-600);font-weight:600}.privacy-page{position:relative;flex:1;min-height:0;overflow-y:auto;background:var(--cream);padding:4rem 1rem 3rem}.privacy-card{max-width:680px;margin:0 auto;background:var(--white);border-radius:var(--radius-lg);padding:2rem 2.5rem 2.5rem;box-shadow:var(--shadow-pop);color:var(--gray-800)}.privacy-back{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--text-sm);font-weight:600;color:var(--plum-600);text-decoration:none}.privacy-back:hover{text-decoration:underline}.privacy-card .privacy-logo{display:flex;margin:1.5rem 0 0;color:var(--plum-800)}.privacy-page .login-page-controls{position:absolute}.privacy-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--plum-900);margin:.25rem 0 0;line-height:1.2}.privacy-updated{font-size:var(--text-xs);color:var(--gray-500);margin:.25rem 0 1.5rem}.privacy-card h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--plum-900);margin:1.75rem 0 .5rem}.privacy-card p,.privacy-card li{font-size:var(--text-sm)}.privacy-card p{margin:0 0 .75rem}.privacy-card ul{margin:0 0 .75rem;padding-left:1.25rem}.privacy-card li{margin-bottom:.4rem}.privacy-card a{color:var(--plum-600)}.privacy-lead{font-size:var(--text-md)!important;color:var(--gray-600)}@media(max-width:600px){.privacy-page{padding:3.5rem .5rem 2rem}.privacy-card{padding:1.25rem 1.1rem 1.75rem}}.btn-primary{background:var(--primary);color:var(--accent-on);border:none;border-radius:var(--radius);padding:.75rem 1.5rem;font-family:var(--font-body);font-size:var(--text-md);font-weight:600;cursor:pointer;transition:filter .2s,transform .1s}.btn-primary:hover{filter:brightness(.9)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:none;border:1.5px solid var(--cream-dark);border-radius:var(--radius);padding:.45rem 1rem;font-family:var(--font-body);font-size:var(--text-sm);color:var(--gray-600);cursor:pointer;transition:background .2s,border-color .2s}.btn-ghost:hover{background:var(--accent-hover-bg);border-color:var(--accent-edge)}.btn-link{background:none;border:none;color:var(--plum-600);font-weight:600;cursor:pointer;font-size:inherit;font-family:inherit}.btn-link:hover{text-decoration:underline}.btn-link-small{font-size:var(--text-xs);font-weight:500}.btn-icon{width:32px;height:32px;border-radius:var(--radius);border:1.5px solid var(--accent-edge);background:var(--white);font-size:var(--icon-md);color:var(--accent-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.toggle-add .toggle-add-icon{display:inline-block;line-height:1;transition:transform .25s ease}.toggle-add.open .toggle-add-icon{transform:rotate(45deg)}.btn-primary.toggle-add{display:inline-flex;align-items:center;gap:.4rem}.toggle-add-label{display:grid}.toggle-add-label>span{grid-area:1/1;white-space:nowrap;transition:opacity .18s,transform .18s}.toggle-add-label>span:first-child{opacity:1;transform:translateY(0)}.toggle-add-label>span:last-child{opacity:0;transform:translateY(5px)}.toggle-add.open .toggle-add-label>span:first-child{opacity:0;transform:translateY(-5px)}.toggle-add.open .toggle-add-label>span:last-child{opacity:1;transform:translateY(0)}.btn-icon:hover{background:var(--accent-hover-bg)}.btn-icon-tiny{width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid var(--accent-edge);background:transparent;font-size:var(--icon-sm);color:var(--accent-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0;line-height:1}.btn-icon-tiny:hover{background:var(--accent-hover-bg)}.btn-small{padding:.45rem .9rem;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius);border:1.5px solid transparent;cursor:pointer;font-family:var(--font-body);background:var(--primary);color:var(--accent-on);transition:filter .2s,border-color .2s,color .2s;white-space:nowrap}.btn-small:hover{filter:brightness(.92)}.btn-small:disabled{opacity:.5;cursor:not-allowed}.btn-small.btn-outline{background:transparent;border-color:var(--gray-400);color:var(--gray-800)}.btn-small.btn-outline:hover{filter:none;background:var(--accent-hover-bg)}.btn-danger{background:var(--danger);border-color:transparent;color:var(--on-danger)}.btn-danger:hover{filter:none}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-tiny{padding:.22rem .55rem;font-size:var(--text-2xs);font-weight:600;border-radius:var(--radius);border:1.5px solid transparent;cursor:pointer;font-family:var(--font-body);color:var(--white);transition:background .2s;white-space:nowrap;background:var(--gray-400)}.btn-tiny:hover{background:var(--gray-600)}.btn-tiny:disabled{opacity:.5;cursor:not-allowed}.dashboard{height:100%;display:flex;flex-direction:column;overflow:hidden}.dashboard-layout{display:flex;flex:1;overflow:hidden;isolation:isolate}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.5rem;background:var(--topbar-bg);color:var(--topbar-ink);flex-shrink:0}.logo-small{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:.5rem}.logo-small .brand-logo{flex-shrink:0}.topbar-right{display:flex;align-items:center;gap:1rem}.topbar-menu-btn{position:relative;flex-shrink:0;width:36px;height:36px;margin:0 .35rem 0 -.4rem;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius);background:none;color:inherit;cursor:pointer;transition:background .15s}.topbar-menu-btn:hover{background:#ffffff1f}.topbar-menu-btn .mat-icon{font-size:var(--icon-lg)}.topbar-menu-btn+.logo-small{margin-right:auto}.topbar-menu-dot{position:absolute;top:6px;right:5px;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--topbar-bg)}.theme-toggle{background:none;border:1.5px solid transparent;cursor:pointer;color:inherit;border-radius:var(--radius);padding:.35rem;display:flex;align-items:center;transition:background .15s;opacity:.7}.theme-toggle:hover{opacity:1;background:#ffffff1f}.theme-toggle .mat-icon{font-size:var(--icon-md)}.lang-toggle{gap:.3rem;padding:.3rem .5rem}.lang-toggle .lang-code{font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em}.lang-toggle .lang-flag{font-size:var(--text-md);line-height:1}.login-page-controls{position:fixed;top:1rem;right:1rem;z-index:var(--z-sticky);display:flex;gap:.25rem}.theme-toggle-float{color:var(--gray-600);opacity:.6}.theme-toggle-float:hover{opacity:1;background:var(--cream-dark)}.avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--white);flex-shrink:0;letter-spacing:0}.avatar-sm{width:28px;height:28px;font-size:.7rem}.avatar-xs{width:20px;height:20px;font-size:.58rem}.avatar.avatar-future{background:var(--white);border:1.5px dashed var(--gray-400);color:var(--gray-600)}.avatar-future .icon-svg{width:62%;height:62%}.avatar-md{width:48px;height:48px;font-size:1.1rem}.profile-section{position:relative}.profile-btn{display:flex;align-items:center;gap:.55rem;background:none;border:none;cursor:pointer;padding:.3rem .5rem;border-radius:var(--radius);transition:background .15s;color:inherit}.profile-btn:hover{background:color-mix(in srgb,currentColor 12%,transparent)}.profile-name{font-size:var(--text-sm);font-weight:500;opacity:.9;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-popover{position:absolute;top:calc(100% + 8px);left:0;background:var(--white);border-radius:var(--radius-lg);padding:.6rem;min-width:260px;box-shadow:var(--shadow-pop);z-index:var(--z-popover);display:flex;flex-direction:column;gap:.3rem}.topbar .profile-popover{left:auto;right:0;max-width:calc(100vw - 24px);color:var(--gray-800)}.profile-chev{font-size:var(--icon-md);opacity:.7}.profile-identity{display:flex;align-items:center;gap:.75rem;padding:.5rem .6rem .65rem;border-bottom:1px solid var(--cream-dark)}.profile-identity-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.profile-identity-name{font-size:var(--text-sm);font-weight:600;color:var(--plum-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-popover-email{font-size:var(--text-2xs);color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-prefs{display:flex;flex-direction:column;gap:.45rem;padding:.55rem .6rem .65rem;border-bottom:1px solid var(--cream-dark)}.profile-pref-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.profile-pref-label{font-size:var(--text-xs);color:var(--gray-600)}.seg-control{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius);background:var(--cream);border:1px solid var(--cream-dark)}.seg-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-width:34px;height:28px;padding:0 .45rem;border:none;border-radius:calc(var(--radius) - 3px);background:transparent;color:var(--gray-600);font-family:var(--font-body);font-size:var(--text-2xs);font-weight:700;letter-spacing:.03em;cursor:pointer;transition:background .15s,color .15s}.seg-btn:hover:not(.active){color:var(--accent-ink);background:var(--accent-hover-bg)}.seg-btn.active{background:var(--primary);color:var(--accent-on);box-shadow:0 1px 2px #0000001f;cursor:default}.seg-btn .mat-icon{font-size:var(--icon-sm)}.seg-lang .seg-btn{padding:0 .55rem}.seg-sm .seg-btn{height:22px;min-width:0;padding:0 .55rem;font-size:var(--text-2xs);letter-spacing:.02em}.profile-actions{display:flex;flex-direction:column;gap:2px;padding-top:.2rem}.profile-action-btn{display:flex;align-items:center;gap:.55rem;width:100%;background:none;border:none;padding:.5rem .7rem;border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-body);color:var(--plum-800);text-align:left;cursor:pointer;transition:background .12s}.profile-action-btn:hover{background:var(--accent-hover-bg)}.profile-action-btn .mat-icon{font-size:var(--icon-md);color:var(--accent-ink)}.profile-action-signout{color:var(--gray-600)}.profile-action-signout:hover{background:var(--accent-hover-bg)}.profile-action-signout .mat-icon{color:currentColor}.profile-edit-card{display:flex;flex-direction:column;gap:.6rem;margin-top:.15rem;animation:sidebar-expand .18s ease}.profile-edit-fields{display:flex;flex-direction:column;gap:.9rem;padding:.9rem}.profile-edit-card .form-group label{color:var(--gray-600)}.gender-picker{display:flex;gap:.4rem}.gender-option{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem .5rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);color:var(--gray-800);font-size:var(--text-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.gender-option-icon{width:.9rem;height:.9rem}.gender-option:hover{border-color:var(--accent-color)}.gender-option.selected{border-color:var(--accent-color);background:var(--accent-hover-bg);color:var(--accent-ink)}.profile-gender-hint{font-size:var(--text-2xs);color:var(--gray-500);margin-top:.3rem}.profile-edit-card .form-group input{background:var(--white)}.profile-edit-footer{display:flex;justify-content:flex-end;gap:.5rem}.profile-form{display:flex;flex-direction:column;gap:.6rem}.profile-divider{border:none;border-top:1px solid var(--cream-dark);margin:.1rem 0}.profile-signout{width:100%;text-align:center;font-size:var(--text-sm)}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.avatar-upload-row{display:flex;align-items:center;gap:.5rem}.avatar-upload-btn{cursor:pointer;flex:1;min-width:0;height:2.25rem;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap}.avatar-upload-btn .mat-icon{font-size:var(--icon-sm);flex-shrink:0}.avatar-remove-btn{width:2.25rem;height:2.25rem;flex-shrink:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);color:var(--gray-600);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.avatar-remove-btn .mat-icon{font-size:var(--icon-sm)}.sidebar{width:272px;background:var(--white);border-right:1px solid var(--cream-dark);flex-shrink:0;display:flex;flex-direction:column;overflow:visible;transition:width .2s ease}.sidebar-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:1rem 1rem 1.25rem;display:flex;flex-direction:column}.sidebar-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;margin:0 1rem;padding:.9rem 0 .75rem;border-bottom:1px solid var(--cream-dark)}.sidebar-collapse-btn{width:32px;height:32px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius);background:none;color:var(--gray-600);cursor:pointer;transition:background .15s,color .15s}.sidebar-collapse-btn:hover{background:var(--accent-hover-bg);color:var(--accent-ink)}.sidebar-collapse-btn .mat-icon{font-size:var(--icon-md)}.sidebar.sidebar-collapsed{width:64px}.sidebar-collapsed .sidebar-scroll{display:none}.sidebar-collapsed .sidebar-toolbar{border-bottom-color:transparent}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding-right:.5rem;margin-bottom:.5rem}.sidebar-label{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gray-500)}.group-item-icon{font-size:var(--icon-md);flex-shrink:0;color:var(--plum-600)}.group-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-empty{color:var(--gray-500);font-size:var(--text-sm);padding:.5rem .75rem}.sidebar-group-picker{flex-shrink:0;margin-bottom:1rem}.group-dropdown{position:relative}.group-dropdown-trigger{width:100%;display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border-radius:var(--radius);border:1.5px solid var(--accent-color);background:var(--white);cursor:pointer;font-family:inherit;color:var(--gray-800);transition:border-color .15s}.group-dropdown-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);font-weight:600;text-align:left}.group-dropdown-placeholder{color:var(--gray-500);font-weight:400}.group-dropdown-chev{color:var(--gray-500);flex-shrink:0}.group-dropdown-list{list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--cream-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);z-index:var(--z-popover);overflow:hidden;max-height:260px;overflow-y:auto}.group-dropdown-item{width:100%;display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border:none;background:none;cursor:pointer;font-family:inherit;font-size:var(--text-sm);color:var(--gray-600);text-align:left}.group-dropdown-item:hover{background:var(--accent-hover-bg)}.group-dropdown-item.active{background:var(--accent-hover-bg);color:var(--gray-800);font-weight:600}.group-dropdown-item.active .group-item-icon{color:var(--accent-ink-strong)}.occasions-nested.occasions-nested-top{margin-left:0;padding-left:0;border-left:none}.recipients-nested{padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--cream-dark)}.recipient-item{cursor:pointer;gap:.5rem}.recipient-item-avatar{flex-shrink:0}.recipient-item-av-btn{flex-shrink:0;display:inline-flex;padding:0;margin:0;border:0;background:none;border-radius:50%;cursor:pointer}.recipient-item-av-btn:hover .recipient-item-avatar{box-shadow:0 0 0 2px var(--coral)}.recipient-item-av-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.recipient-item:not(.is-dim):hover:not(:has(.recipient-item-av-btn:hover)) .occasion-name-label,.recipient-item-name-btn:focus-visible .occasion-name-label{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.recipient-item-name-btn{flex:1;min-width:0;display:flex;padding:0;margin:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.recipient-item-name-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:var(--radius-sm)}.avatar.recipient-item-mark{background:var(--coral);color:var(--white)}.recipient-item-mark .icon-svg{width:55%;height:55%;stroke-width:3}.recipient-item .occasion-name-label{flex:1}.recipient-item.active{background:var(--accent-hover-bg);color:var(--gray-800);font-weight:600;box-shadow:none}.recipient-item.active.is-linked{background:color-mix(in srgb,var(--link-color) 16%,var(--white));color:var(--gray-800)}.recipient-item-link{flex:none;font-size:var(--icon-md);font-weight:300;color:var(--link-color)}.recipient-item.is-dim{color:var(--gray-500)}.recipient-item.is-dim .avatar{filter:grayscale(1)}.recipient-item.is-dim:hover{background:none}.recipient-item.is-dim :is(.recipient-item-av-btn,.recipient-item-name-btn){cursor:default}.recipient-item.is-dim .recipient-item-av-btn:hover .recipient-item-avatar{box-shadow:none}.recipient-fold-btn{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .55rem;border:none;border-radius:var(--radius-sm);background:none;font-family:var(--font-body);font-size:var(--text-xs);color:var(--gray-600);text-align:left;cursor:pointer}.recipient-fold-btn .icon-svg{flex:none;font-size:var(--icon-md)}.recipient-fold-btn:hover{background:var(--accent-hover-bg)}.recipient-fold-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.recipient-fold-note{padding:0 .55rem .2rem;font-size:var(--text-xs);line-height:1.45;color:var(--gray-600)}.recipient-fold-note .btn-link{display:inline;padding:0;font-size:inherit;text-align:left}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--cream-dark)}.changelog-btn{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;cursor:pointer;font-size:var(--text-xs);color:var(--gray-500);padding:.45rem .5rem;border-radius:var(--radius-sm);transition:color .15s,background .15s;position:relative;font-family:var(--font-body)}.changelog-btn:hover{color:var(--accent-ink);background:var(--accent-hover-bg)}.changelog-btn .badge-unread{margin-left:auto}.changelog-btn .mat-icon{font-size:var(--icon-sm)}.changelog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:1rem}.dev-badge{position:fixed;left:calc(.5rem + env(safe-area-inset-left));bottom:calc(.5rem + env(safe-area-inset-bottom));z-index:calc(var(--z-sticky) - 1);padding:.1rem .45rem;border-radius:var(--radius-pill);background:var(--coral);color:var(--accent-on);font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;opacity:.85;pointer-events:none}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);z-index:var(--z-toast);font-size:var(--text-sm);max-width:min(500px,calc(100vw - 2rem));width:max-content;cursor:pointer;animation:toast-in .2s ease}.toast-error{background:#2d1515;color:#ffcece}.toast-warn{background:#2a1f06;color:#ffe5a0}.toast-success{background:#0f2a1a;color:#b8f0cc}.toast-icon{font-size:var(--icon-md);flex-shrink:0}.toast-message{flex:1;min-width:0;line-height:1.4;overflow-wrap:anywhere}.toast-close{background:none;border:none;color:inherit;opacity:.5;cursor:pointer;font-size:var(--icon-md);padding:0;line-height:1;flex-shrink:0;margin-left:.25rem}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:var(--z-lightbox);display:flex;align-items:center;justify-content:center;padding:1rem}.lightbox-img{max-width:min(90vw,900px);max-height:85vh;object-fit:contain;border-radius:var(--radius-lg);display:block;-webkit-user-select:none;user-select:none}.lightbox-close{position:fixed;top:1rem;right:1.25rem;background:none;border:none;color:#ffffffb3;font-size:2rem;cursor:pointer;line-height:1;z-index:1}.lightbox-close:hover{color:#fff}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:2.5rem;cursor:pointer;padding:.5rem .85rem;border-radius:var(--radius);z-index:1;line-height:1;transition:background .15s}.lightbox-nav:hover{background:#ffffff4d}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.dashboard:has(.lightbox-overlay) .toast{bottom:4rem}.lightbox-dots{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:1}.lightbox-dot{width:8px;height:8px;border-radius:50%;background:#ffffff59;border:none;cursor:pointer;padding:0;transition:background .15s}.lightbox-dot.active{background:#fff}.confirm-modal{background:var(--white);border-radius:var(--radius-lg);padding:1.75rem 1.75rem 1.5rem;width:100%;max-width:360px;box-shadow:var(--shadow-pop)}.confirm-message{margin:0 0 1.5rem;font-size:var(--text-md);color:var(--gray-800);line-height:1.5}.confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.guard-modal{background:var(--white);border-radius:var(--radius-lg);padding:1.6rem 1.6rem 1.4rem;width:100%;max-width:360px;box-shadow:var(--shadow-pop)}.guard-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:1rem;border-radius:var(--radius);background:var(--accent-hover-bg);color:var(--accent-ink)}.guard-icon .mat-icon{font-size:var(--icon-md)}.guard-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--plum-900);margin-bottom:.5rem}.guard-body{font-size:var(--text-sm);line-height:1.55;color:var(--gray-600);margin:0 0 1.4rem}.guard-actions{display:flex;flex-direction:column;gap:.6rem}.guard-keep{width:100%;padding:.75rem;font-size:var(--text-sm)}.guard-discard{width:100%;padding:.6rem;background:none;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s}.changelog-subtitle{font-size:var(--text-xs);color:var(--gray-500);margin:.15rem 0 0}.changelog-body{overflow-y:auto;padding:1.25rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.5rem}.cl-release{display:flex;flex-direction:column;gap:.55rem}.cl-release-latest .cl-version{background:var(--plum-700)}.cl-release-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cl-version{font-size:var(--text-2xs);font-weight:700;background:var(--gray-400);color:var(--white);padding:.15rem .55rem;border-radius:var(--radius-pill);letter-spacing:.03em}.cl-label{font-size:var(--text-md);font-weight:600;color:var(--plum-800)}.cl-date{font-size:var(--text-2xs);color:var(--gray-500);margin-left:auto}.cl-entries{list-style:none;display:flex;flex-direction:column;gap:.4rem;padding-left:.1rem}.cl-entry{font-size:var(--text-sm);color:var(--gray-700);display:flex;align-items:flex-start;gap:.5rem;line-height:1.45}.cl-entry-icon{flex-shrink:0;font-size:var(--icon-sm);margin-top:.05rem}.cl-feedback{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .5rem;margin:0;padding:.6rem 1.5rem;background:var(--cream);border-bottom:1px solid var(--cream-dark);font-size:var(--text-sm);color:var(--gray-600)}.cl-feedback>svg{flex-shrink:0;width:var(--icon-sm);height:var(--icon-sm);color:var(--gray-500)}.cl-feedback .btn-link{padding:0}@media(max-width:768px){.cl-feedback{padding:.6rem 1.25rem}}.feedback-sheet{max-width:480px}.feedback-sheet .plan-sub{padding:0;margin-bottom:.25rem}.feedback-form{display:flex;flex-direction:column;gap:.75rem;padding:0 1.25rem}.feedback-form .seg-control{align-self:flex-start}.feedback-form .form-group{display:flex;flex-direction:column;gap:.35rem}.feedback-form textarea{resize:vertical;min-height:7.5rem;line-height:1.45}.feedback-note{font-size:var(--text-xs);color:var(--gray-500);line-height:1.45;margin:0}.feedback-actions{display:flex;justify-content:flex-end;gap:.5rem}@media(max-width:768px){.feedback-actions .btn-primary{flex:1;padding:.75rem;font-size:var(--text-md)}}.occasions-nested{margin-left:.75rem;padding-left:.75rem;border-left:2px solid var(--plum-100);margin-top:.25rem;margin-bottom:.5rem;animation:sidebar-expand .18s ease;transform-origin:top}@keyframes sidebar-expand{0%{opacity:0;transform:translateY(-4px) scaleY(.95)}to{opacity:1;transform:translateY(0) scaleY(1)}}.occasions-nested-header{display:flex;align-items:center;justify-content:space-between;padding:.35rem .5rem .35rem 0}.occasions-label{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gray-500)}.occasion-list{list-style:none;display:flex;flex-direction:column;gap:1px}.occasion-item{padding:.4rem .5rem;border-radius:var(--radius-sm);font-size:var(--text-sm);transition:background .15s;color:var(--gray-600);display:flex;align-items:center;cursor:default}.occasion-item:hover{background:var(--accent-hover-bg)}.occasion-item.active{background:var(--accent-hover-bg);color:var(--accent-ink);font-weight:600}.occasion-item.occasion-archive-toggle{font-size:var(--text-xs);display:flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none}.occasion-item.occasion-category{cursor:pointer;-webkit-user-select:none;user-select:none;gap:.4rem;font-weight:600;color:var(--plum-800);padding:.45rem .55rem}.occasion-item.occasion-category .occasion-category-icon{font-size:var(--icon-md);flex-shrink:0;color:var(--accent-ink)}.occasion-item.occasion-category.active .occasion-category-icon{color:var(--accent-ink-strong)}.occasion-item.occasion-category .occasion-category-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occasion-item.occasion-category .occasion-category-chev{font-size:var(--icon-md);color:var(--gray-500);flex-shrink:0;transition:transform .18s ease,color .15s ease}.occasion-item.occasion-category.active .occasion-category-chev{color:var(--accent-ink)}.occasion-item.occasion-category.is-open .occasion-category-chev{transform:rotate(180deg)}.occasion-item.occasion-nested{padding-left:1rem;animation:sidebar-expand .18s ease;transform-origin:top}.group-block{transition:opacity .15s,box-shadow .15s}.group-block.is-dragging{opacity:.4}.group-block.is-drag-over{box-shadow:inset 0 3px 0 var(--accent-color)}.group-item{cursor:grab}.group-item:active{cursor:grabbing}.occasion-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--cream-dark);color:var(--gray-500);font-size:var(--text-2xs);font-weight:700;flex-shrink:0}.occasion-item.active .occasion-count{background:var(--accent-color);color:var(--accent-on)}.occasion-item:first-child{cursor:pointer}.occasion-body{flex:1;min-width:0;display:flex;align-items:center;gap:.35rem;cursor:pointer}.occasion-text-stack{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.occasion-name-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occasion-icon{font-size:var(--icon-md);flex-shrink:0}.occasion-row{flex:1;min-width:0;display:flex;align-items:center}.occasion-item.is-orphan{flex-direction:column;align-items:stretch;gap:.3rem}.occ-row-avs{display:inline-flex;align-items:center;flex-shrink:0;margin-right:.35rem;isolation:isolate}.occ-row-av{position:relative;display:inline-flex}.occ-av-wrap{display:inline-flex}.occ-row-av+.occ-row-av{margin-left:-4px}.avatar.occ-av{width:18px;height:18px;font-size:.5rem;box-shadow:0 0 0 1.5px var(--white)}.occ-av-badge{position:absolute;right:-4px;bottom:-4px;z-index:1;width:14px;height:14px;border-radius:50%;background:var(--gray-600);color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--white)}.occ-av-badge .icon-svg{width:70%;height:70%;stroke-width:2.6}.occ-row-more{margin-left:3px;font-size:var(--text-2xs);font-weight:400;color:var(--gray-600)}.occasion-nested .occ-row-avs{opacity:.55}.occ-row-orphan{display:inline-flex;margin-right:.35rem;font-size:var(--icon-sm);color:var(--amber)}.occ-orphan{flex-direction:column;gap:.45rem;margin:0 0 .25rem;font-weight:400}.occ-orphan-actions{display:flex;align-items:center;gap:.5rem}.btn-link.occ-orphan-delete{display:inline-flex;align-items:center;gap:.25rem;color:var(--danger-text)}.occasion-form{display:flex;flex-direction:column;gap:.5rem;padding:.6rem}.occ-for-row{display:flex;align-items:center;gap:.4rem;font-size:var(--text-xs);color:var(--gray-600)}.occ-for-row>.icon-svg{font-size:var(--icon-md);color:var(--gray-500)}.occ-for-label{flex:1}.occ-people{display:flex;flex-direction:column;gap:.35rem}.occ-people-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.occ-people-label{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}.occ-people.has-error .occ-people-label{color:var(--red)}.occ-people.has-error .mpt-trigger{border-color:var(--red);box-shadow:0 0 0 3px var(--red-light)}.occ-people .btn-link,.occ-for-row .btn-link{padding:.25rem 0;color:var(--accent-ink)}.mpt-panel.occ-people-panel{position:static;left:auto;right:auto;box-shadow:none;z-index:auto}.occ-people-panel .mpt-row{min-height:44px;padding:0 .4rem 0 .5rem;gap:.5rem}.occ-row-locked .mpt-av-btn{cursor:not-allowed}.occ-row-locked .mpt-av-btn .avatar{opacity:.5}.occ-row-locked .mpt-av-btn:hover .avatar{box-shadow:none}.mpt-chip.occ-pill-hidden{background:color-mix(in srgb,var(--gray-400) 18%,var(--white));color:var(--gray-600)}.occ-pill-eye{display:inline-flex;padding-right:.3rem;font-size:var(--icon-sm)}.vis-sees{--vis-bg: var(--green-light);--vis-fg: color-mix(in srgb, var(--green) 70%, var(--gray-800))}.vis-hidden{--vis-bg: color-mix(in srgb, var(--gray-400) 15%, var(--white));--vis-fg: var(--gray-600)}.occ-explain{margin:0;font-size:var(--text-xs);line-height:1.45;color:var(--gray-600)}.occasion-form .edit-hint{margin-top:0}@media(max-width:768px){.occasion-form .mpt-name-btn{min-height:var(--hit);justify-content:center}.occasion-form .mpt-trigger.has-pills .mpt-trigger-text{overflow:visible}.occasion-form :is(.mpt-av-btn,.mpt-chip-x,.btn-link,.icon-pick-trigger),.occasion-form .mpt-pill-wrap>.mpt-pill,.occ-orphan :is(.btn-link,.btn-small){position:relative}.occasion-form :is(.mpt-av-btn,.mpt-chip-x,.btn-link,.icon-pick-trigger):after,.occasion-form .mpt-pill-wrap>.mpt-pill:after,.occ-orphan :is(.btn-link,.btn-small):after{content:"";position:absolute;inset:min(0px,calc((100% - var(--hit)) / 2))}.occasion-form .mpt-chip-x:after{inset:min(0px,calc((100% - var(--hit)) / 2)) 0}}.icon-picker{display:flex;flex-wrap:wrap;gap:.25rem;padding:.2rem 0}.icon-picker-btn{width:30px;height:30px;border-radius:var(--radius);border:1.5px solid var(--cream-dark);background:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--gray-600);font-size:var(--icon-sm)}.icon-picker-btn:hover{border-color:var(--accent-color);background:var(--accent-hover-bg);color:var(--accent-ink)}.icon-picker-btn.selected{border-color:var(--accent-color);background:var(--accent-hover-bg-strong);color:var(--accent-ink)}.occasion-date{font-size:var(--text-2xs);color:var(--gray-500);white-space:nowrap}.occasion-actions{display:flex;flex-shrink:0}.occasion-actions .inline-action-btn{width:22px;height:22px;border-width:1px;border-radius:var(--radius-sm)}.occasion-actions .inline-action-btn .mat-icon{font-size:var(--icon-sm)}.group-item.active .occasion-count{background:var(--accent-color);color:var(--accent-on)}.form-inline-row{display:flex;align-items:center;gap:.4rem}.form-inline-row>input{flex:1;min-width:0}.icon-pick-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius);background:var(--accent-hover-bg);color:var(--accent-ink);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.icon-pick-trigger:hover,.icon-pick-trigger[aria-expanded=true]{background:var(--accent-hover-bg-strong)}.icon-pick-trigger .mat-icon{font-size:var(--icon-md)}.edit-panel{background:var(--accent-wash);border:1.5px solid var(--accent-edge);border-radius:var(--radius-lg)}.edit-panel input,.edit-panel select,.edit-panel textarea,.form-panel-body input[type=text],.group-rename-form input[type=text]{border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);color:var(--gray-800);font-family:var(--font-body);outline:none;transition:border-color .15s,box-shadow .15s}.edit-panel input:focus,.edit-panel select:focus,.edit-panel textarea:focus,.form-panel-body input[type=text]:focus,.group-rename-form input[type=text]:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-ring)}.date-field{position:relative;display:flex;flex-direction:column;gap:.4rem}.date-field-trigger{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .6rem;font-size:var(--text-xs);font-family:var(--font-body);text-align:left;border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);color:var(--gray-800);cursor:pointer;transition:border-color .15s,box-shadow .15s}.date-field-trigger .mat-icon{font-size:var(--icon-sm);color:var(--accent-ink);flex-shrink:0}.date-field-trigger.is-empty{color:var(--gray-500)}.date-field-trigger:hover{border-color:var(--accent-edge)}.date-field-trigger:focus-visible,.date-field-trigger[aria-expanded=true]{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-ring)}.date-field input.date-field-proxy{position:absolute;top:0;left:0;width:100%;height:2rem;opacity:0;pointer-events:none;padding:0;border:0}.date-cal{background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);padding:.5rem;box-shadow:var(--shadow-card)}.date-cal-head{display:flex;align-items:center;justify-content:space-between;gap:.25rem;margin-bottom:.35rem}.date-cal-month{font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);color:var(--gray-800)}.date-cal-nav{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--gray-600);cursor:pointer;transition:background .15s,color .15s}.date-cal-nav:hover{background:var(--accent-hover-bg);color:var(--accent-ink)}.date-cal-nav:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.date-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-cal-weekday{text-align:center;font-size:var(--text-2xs);font-weight:600;color:var(--gray-500);padding:.1rem 0 .25rem}.date-cal-day{aspect-ratio:1;min-width:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:var(--text-xs);color:var(--gray-800);cursor:pointer;font-variant-numeric:tabular-nums;transition:background .12s,color .12s}.date-cal-day:hover{background:var(--accent-hover-bg);color:var(--accent-ink)}.date-cal-day:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.date-cal-day.is-today{box-shadow:inset 0 0 0 1.5px var(--accent-edge);font-weight:600;color:var(--accent-ink)}.date-cal-day.is-selected,.date-cal-day.is-selected:hover{background:var(--accent-color);color:var(--accent-on);font-weight:600;box-shadow:none}.date-cal-foot{display:flex;justify-content:flex-end;margin-top:.3rem}.date-cal-today{border:none;background:transparent;font-family:var(--font-body);font-size:var(--text-2xs);font-weight:600;color:var(--accent-ink);cursor:pointer;padding:.2rem .45rem;border-radius:var(--radius-sm)}.date-cal-today:hover{background:var(--accent-hover-bg)}.inline-edit-actions{display:flex;gap:.35rem;justify-content:flex-end}.inline-action-btn,.gift-detail-header-icons .gift-detail-icon-btn:not(.gift-detail-icon-btn-plain),.gift-detail-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius);color:var(--gray-600);cursor:pointer;transition:color .15s,background .15s,border-color .15s,filter .15s}.inline-action-btn:hover:not(:disabled),.gift-detail-header-icons .gift-detail-icon-btn:not(.gift-detail-icon-btn-plain):hover:not(:disabled),.gift-detail-close:hover:not(:disabled){background:var(--accent-hover-bg);color:var(--accent-ink);border-color:var(--accent-edge)}.inline-action-btn:disabled,.gift-detail-icon-btn:disabled,.gift-detail-header-icons .gift-detail-icon-btn[aria-disabled=true],.gift-detail-close:disabled{opacity:.4;cursor:not-allowed}.gift-detail-header-icons .gift-detail-icon-btn[aria-disabled=true]:not(.gift-detail-icon-btn-plain):hover{background:var(--white);color:var(--gray-600);border-color:var(--cream-dark)}.inline-action-btn .mat-icon{font-size:var(--icon-sm)}.inline-action-save{background:var(--accent-color);border-color:transparent;color:var(--accent-on)}.inline-action-save:hover:not(:disabled){background:var(--accent-color);border-color:transparent;color:var(--accent-on);filter:brightness(.92)}.main-content{flex:1;padding:0 2.25rem 1.5rem;overflow-y:auto;overflow-anchor:none;position:relative;background-color:var(--cream)}.occ-theme-default{background-image:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--occ-color, var(--coral)) 22%,transparent),transparent 45%)}.occ-theme-neutral{background-image:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--plum-600) 16%,transparent),transparent 50%),radial-gradient(circle at 88% 85%,color-mix(in srgb,var(--plum-600) 13%,transparent),transparent 50%)}.main-content{--stick-compact-h: 3.5rem;--stick-collapse: 0px;--stick-p: 0}.content-stick{position:sticky;top:calc(-1 * var(--stick-collapse));z-index:calc(var(--z-sticky-top) + 1);display:flow-root;margin:0 -2.25rem;padding:0 2.25rem;overflow-anchor:none}.content-stick:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:color-mix(in srgb,var(--cream) 60%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--cream-dark);opacity:var(--stick-p);pointer-events:none}.content-stick>.content-header-text{opacity:calc(1 - var(--stick-p) * 1.6)}.main-content[data-header-compact] .content-stick>:not(.content-compact-bar){visibility:hidden}.content-compact-bar{position:absolute;left:0;right:0;bottom:0;height:var(--stick-compact-h);padding:0 2.25rem;display:flex;align-items:center;gap:.9rem;opacity:calc((var(--stick-p) - .5) * 2);pointer-events:none}.content-compact-summary{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.content-compact-summary{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--plum-900)}.content-compact-summary .ccs-sep{margin:0 .5rem;color:var(--gray-500)}.add-gift-bar{position:sticky;top:calc(var(--stick-compact-h) + .5rem);z-index:var(--z-sticky);display:flex;justify-content:center;margin:.5rem 0 1.4rem;pointer-events:none}.add-gift-bar .btn-primary{pointer-events:auto;transition:box-shadow .2s ease}.main-content[data-header-compact] .add-gift-bar .btn-primary{box-shadow:var(--shadow-pop)}.content-header{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:.9rem;row-gap:.35rem;padding-top:1.5rem}.content-header+.lc-cards{margin:1rem 0 1.5rem}.content-group-line{grid-column:1;grid-row:1;min-width:0;display:flex;align-items:center;gap:.45rem;font-size:var(--text-sm);font-weight:500;color:var(--gray-600)}.content-group-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-header-icon{font-size:var(--icon-md);color:var(--accent-ink);flex-shrink:0}.content-header-text{min-width:0;padding-top:.35rem;padding-bottom:1.4rem}.content-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--plum-900);line-height:1.15}.content-header-edit-btn{color:var(--gray-500);flex-shrink:0;opacity:1;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:opacity .15s,color .15s,background .15s}.content-header-edit-btn:hover{color:var(--accent-ink);background:var(--accent-hover-bg)}.content-header-edit-btn .mat-icon{font-size:var(--icon-md)}.content-subtitle{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--plum-900);margin-top:.3rem}.occ-title-icon{display:inline-flex;align-items:center;font-size:var(--icon-md);vertical-align:-.15em;margin-right:.3rem}.content-actions{grid-column:2;grid-row:1;display:flex;gap:.5rem;flex-shrink:0;align-items:center}.icon-pick-trigger.icon-pick-trigger-lg{width:40px;height:40px}.icon-pick-trigger.icon-pick-trigger-lg .mat-icon{font-size:var(--icon-md)}.members-toggle-btn{height:40px;min-width:8.5rem;padding:0 1.1rem;font-size:var(--text-sm);display:inline-flex;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap}.members-toggle-icon{font-size:var(--icon-md);flex-shrink:0}.members-toggle-btn.active{background:var(--accent-hover-bg);border-color:var(--accent-color);color:var(--accent-ink-strong)}.members-panel{background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-card)}.members-list{display:flex;flex-direction:column;gap:.35rem}.member-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:var(--radius);background:var(--cream)}.member-text{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;flex:1}.member-name{max-width:100%;font-size:var(--text-sm);font-weight:500;line-height:1.3;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-self{font-weight:400;color:var(--gray-500)}.member-row>.inline-action-btn{flex-shrink:0}.people-section{display:flex;flex-direction:column;gap:.5rem}.members-detail-scroll .people-section{margin-top:1rem;padding:.75rem .6rem 0;border-top:1px solid var(--cream-dark)}.new-group-members{margin-top:.5rem}.people-section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.people-section-label{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}.people-section-count{font-size:var(--text-xs);color:var(--gray-500)}.people-add-row{display:flex;gap:.5rem}.people-add-row input{flex:1;min-width:0}.people-add-btn{flex-shrink:0}.people-list{list-style:none;display:flex;flex-direction:column}.people-row{min-height:48px;display:flex;align-items:center;gap:.6rem}.people-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.people-row-name{font-size:var(--text-sm);font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-row-sub{font-size:var(--text-2xs);color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-row .inline-action-btn{flex-shrink:0}.people-row-add{color:var(--accent-ink)}.people-row-mail{background:var(--cream);color:var(--gray-600);display:inline-flex;align-items:center;justify-content:center;font-size:var(--icon-sm);flex-shrink:0}.new-group-members .people-section:not(.new-group-members){padding-top:.5rem;border-top:1px solid var(--cream-dark)}.managed-av{position:relative;display:inline-flex;flex-shrink:0}.managed-badge{position:absolute;right:-3px;bottom:-3px;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-hover-bg);color:var(--accent-ink);box-shadow:0 0 0 2px var(--white);font-size:10px}.avatar-md+.managed-badge{width:20px;height:20px;font-size:13px}.member-managed-by{font-size:var(--text-2xs);color:var(--gray-500);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.managed-section{margin-top:.5rem}.managed-create-row{display:flex;align-items:center;gap:.6rem;width:100%;min-height:52px;padding:.35rem .25rem;border:none;border-top:1px solid var(--cream-dark);background:none;text-align:left;color:var(--accent-ink);cursor:pointer}.managed-create-row:hover{background:var(--accent-hover-bg)}.managed-create-row .people-row-name{color:var(--accent-ink)}.managed-create-icon{width:28px;height:28px;border-radius:50%;border:1.5px dashed var(--gray-400);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--icon-sm)}.managed-form{display:flex;flex-direction:column;gap:.25rem}.mpt-panel.managed-picker-panel{position:static;left:auto;right:auto;margin-top:.3rem;box-shadow:none;z-index:auto}.managed-picker-panel .mpt-row{min-height:44px;padding:0 .4rem 0 .5rem;gap:.5rem}.managed-note{display:flex;gap:.5rem;align-items:flex-start;margin:.25rem 0;padding:.6rem .75rem;border-radius:var(--radius);background:var(--cream);font-size:var(--text-xs);line-height:1.45;color:var(--gray-600)}.managed-note .icon-svg{flex-shrink:0;margin-top:.1rem;color:var(--accent-ink)}.managed-q{padding:.5rem 1.25rem .75rem}.managed-q+.managed-q{border-top:1px solid var(--cream-dark)}.managed-q-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.managed-q .plan-opts{border-top:none}.plan-opt-label.managed-opt{flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left}.managed-opt-sub{font-size:var(--text-2xs);color:var(--gray-500);white-space:normal}.managed-hand-to{padding:.5rem 0 .25rem 2rem}.managed-people{list-style:none;display:flex;flex-direction:column}.managed-person-row{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .5rem;border:none;border-bottom:1px solid var(--cream-dark);background:none;text-align:left;cursor:pointer;color:inherit}.managed-person-row:hover{background:var(--accent-hover-bg)}.managed-groups{display:flex;flex-wrap:wrap;gap:.3rem;margin:.2rem 0}.managed-group-chip{display:inline-flex;align-items:center;gap:.25rem;height:22px;padding:0 .5rem 0 .4rem;border-radius:var(--radius-pill);background:var(--accent-hover-bg);color:var(--accent-ink);font-size:var(--text-2xs);font-weight:600}.managed-group-chip .mat-icon,.managed-group-chip .icon-svg{font-size:14px}.managed-group-chip.is-other{background:var(--cream);color:var(--gray-600);font-weight:500}.managed-group-chip.is-none{background:none;border:1.5px dashed var(--gray-400);color:var(--gray-600)}.managed-detail{display:flex;flex-direction:column;gap:.5rem}.managed-panel-titles{flex:1;min-width:0;display:flex;flex-direction:column}.managed-panel-eyebrow{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}.managed-detail .people-section-label{margin-top:.5rem}.managed-detail-head{display:flex;align-items:center;gap:.75rem}.managed-add-manager{align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem}@media(max-width:768px){.people-row .inline-action-btn{width:var(--hit);height:var(--hit)}}.role-badge{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .4rem;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0}.role-badge.role-owner{background:var(--plum-100);color:var(--plum-700)}.role-badge.role-admin{background:var(--amber-light);color:var(--amber)}.role-badge.role-member{background:var(--cream-dark);color:var(--gray-600)}.role-badge.role-invite{background:var(--look-wash);color:var(--look-ink)}.pending-invites{margin-top:1rem}.pending-invite{align-items:flex-start;padding:.35rem 0}.pending-invite .people-row-mail{margin-top:.15rem}.pending-invite .people-row-name{white-space:normal;overflow-wrap:anywhere}.pending-invite-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .4rem;margin-top:.15rem}.pending-invite-meta .people-row-sub{white-space:normal}.pending-invite-expired{color:var(--danger-text)}.role-pick-wrap{position:relative;display:inline-flex}.role-pick{display:inline-flex;align-items:center;gap:.15rem;padding-right:.25rem;border:none;font-family:var(--font-body);cursor:pointer;transition:filter .15s}.role-pick .mat-icon{font-size:var(--icon-sm)}.role-pick:hover,.role-pick[aria-expanded=true]{filter:brightness(.95)}.role-pick:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.role-pick:disabled{cursor:progress}.role-menu{left:0;right:auto;min-width:180px}.role-menu.opens-up{top:auto;bottom:calc(100% + 6px)}.role-legend{display:flex;flex-direction:column;gap:.4rem;margin:1rem 0 0;padding:.75rem .6rem 0;border-top:1px solid var(--cream-dark)}.role-legend-row{display:grid;grid-template-columns:5.5rem 1fr;align-items:baseline;gap:.5rem}.role-legend dt{margin:0}.role-legend dd{margin:0;font-size:var(--text-xs);color:var(--gray-600);line-height:1.4}.invite-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.invite-form input{padding:.45rem .75rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius);font-size:var(--text-sm);font-family:var(--font-body);flex:1;min-width:160px;background:var(--cream)}.gift-form{background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-card);animation:slideDown .15s ease}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-footer{display:flex;gap:.5rem;align-items:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.occasion-picker{display:flex;flex-wrap:wrap;gap:.45rem;padding:.25rem 0}.tk-chip.occasion-pick{cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:none;letter-spacing:normal;margin:0;padding:.28rem .7rem;font-size:var(--text-xs);gap:.3rem;transition:border-color .15s,color .15s,background .15s}.tk-chip.occasion-pick .mat-icon{font-size:var(--icon-sm)}.tk-chip.occasion-pick:hover{border-color:var(--chip-color)}.tk-chip.occasion-pick.selected{border-color:var(--chip-color);color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 13%,var(--white))}.tk-chip.occasion-pick input{position:absolute;opacity:0;pointer-events:none}.tk-chip.occasion-pick:has(input:focus-visible){outline:2px solid var(--chip-color);outline-offset:2px}.occasion-picker-group{flex-basis:100%;margin-top:.2rem;font-size:var(--text-2xs);color:var(--gray-500)}.tk-chip.occasion-pick.is-other{color:var(--gray-500);border-style:dashed}.tk-chip.occasion-pick.is-other .mat-icon{color:var(--gray-500)}.tk-chip.occasion-pick.selected.is-hidden-occ{border-style:dashed;border-color:var(--chip-color)}.occasion-picker-note{display:flex;align-items:flex-start;gap:.4rem;margin:.35rem 0 0;font-size:var(--text-xs);line-height:1.45;color:var(--gray-600)}.occasion-picker-note>.mat-icon{flex:none;margin-top:.1rem;font-size:var(--icon-sm);color:var(--gray-500)}.occasion-picker-note.is-in-chips{flex-basis:100%;margin:0}.occasion-hint-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.occasion-hint-sub{color:var(--gray-600)}.occasion-hint-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.4rem}.occasion-hint-actions .btn-small{white-space:normal;text-align:left}.occasion-hint-actions .btn-link{padding:0;color:var(--gray-600)}.edit-hint.occasion-hint.is-error{background:var(--red-light)}.edit-hint.occasion-hint.is-error>.mat-icon{color:var(--red)}.filter-bar{background:color-mix(in srgb,var(--white) 55%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);padding:.75rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.55rem}.filter-bar-loading{opacity:.4}.content-lead,.filter-bar{position:relative;z-index:var(--z-sticky-top)}.main-content[data-filters-under] .filter-bar.is-selecting:not(.selection-sticky-bar){visibility:hidden}.filter-row{display:flex;align-items:flex-start;gap:.4rem;flex-wrap:nowrap}.filter-pill{padding:.4rem .95rem;font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-pill);border:1.5px solid var(--cream-dark);background:var(--cream);color:var(--gray-600);cursor:pointer;transition:all .15s;font-family:var(--font-body);white-space:nowrap}.filter-pill:hover{border-color:var(--accent-color);color:var(--accent-ink);background:var(--accent-hover-bg)}.filter-pill.active{border-color:var(--primary);background:var(--primary);color:var(--accent-on);font-weight:700}.filter-pill[data-label]:after{content:attr(data-label);display:block;height:0;overflow:hidden;visibility:hidden;font-weight:700}.filter-row-primary{flex-wrap:nowrap;gap:.55rem;align-items:center}.filter-status-group{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-width:0;flex:1}.filter-reset-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1.5px dashed var(--cream-dark);border-radius:var(--radius);color:var(--gray-500);cursor:pointer;flex-shrink:0;transition:color .15s,background .15s,border-color .15s,transform .1s}.filter-reset-btn:hover{color:var(--gray-800);background:var(--accent-hover-bg);border-color:var(--accent-edge);border-style:solid}.filter-reset-btn:active{transform:scale(.94)}.filter-reset-btn .mat-icon{font-size:var(--icon-md)}.filter-sort-wrap{position:relative;flex-shrink:0}.filter-sort-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--cream);border:1.5px solid var(--cream-dark);border-radius:var(--radius);color:var(--gray-600);cursor:pointer;position:relative;transition:border-color .15s,background .15s,color .15s}.filter-sort-btn:hover{border-color:var(--accent-color);background:var(--accent-hover-bg);color:var(--accent-ink)}.filter-sort-btn.active{border-color:var(--accent-color);background:var(--accent-hover-bg-strong);color:var(--accent-ink-strong)}.filter-sort-btn:disabled{opacity:.45;cursor:default}.filter-sort-btn:disabled:hover{border-color:var(--cream-dark);background:var(--cream);color:var(--gray-600)}.filter-sort-btn .mat-icon{font-size:var(--icon-md)}.filter-sort-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--coral);border:1.5px solid var(--white)}.filter-sort-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--white);border-radius:var(--radius-lg);padding:.3rem;min-width:200px;box-shadow:var(--shadow-pop);z-index:var(--z-popover);display:flex;flex-direction:column;gap:1px;animation:sidebar-expand .16s ease}.filter-sort-item{display:flex;align-items:center;gap:.45rem;width:100%;padding:.45rem .55rem;background:none;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-body);color:var(--gray-800);text-align:left;cursor:pointer;transition:background .12s,color .12s}.filter-sort-item:hover{background:var(--accent-hover-bg);color:var(--accent-ink-strong)}.filter-sort-item.active{color:var(--accent-ink-strong);font-weight:600}.filter-sort-item-check{width:var(--icon-sm);font-size:var(--icon-sm);color:var(--accent-ink);flex-shrink:0}.gift-list{display:flex;flex-direction:column;gap:.5rem}.gift-card-compact{background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);overflow:hidden}.gift-for-person{display:inline-flex;align-items:center;gap:.25rem}.gift-for-person-name{white-space:nowrap}.joined-item{display:inline-flex;align-items:center}.chip-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-pill);background:var(--accent-color);color:var(--accent-on);font-size:var(--text-2xs);font-weight:700;line-height:1;border:1.5px solid var(--white)}.chip-badge.badge-unread{background:var(--red);color:#fff}.tt-wrap{position:relative;display:inline-flex;align-items:center}.app-tooltip{position:fixed;background:var(--plum-900);color:var(--white);font-size:var(--text-2xs);font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;text-align:left;border-radius:var(--radius-sm);padding:.45rem .6rem;max-width:260px;white-space:normal;z-index:var(--z-tooltip);pointer-events:none;box-shadow:var(--shadow-pop)}.app-tooltip-center{transform:translate(-50%)}.app-tooltip-right{transform:translate(-100%)}.app-tooltip p{margin:0}.app-tooltip p+p{margin-top:.2rem}.app-tooltip-row{display:flex;align-items:center;gap:.4rem}.app-tooltip-row+.app-tooltip-row{margin-top:.25rem}.app-tt-occ-icon{font-size:var(--icon-sm)!important;flex-shrink:0}.edit-locked-tip{display:flex;align-items:center;gap:.45rem;width:max-content;max-width:240px}.edit-locked-tip .avatar{flex:none}.gift-list-ticket{gap:1rem}.gift-ticket{--tick-h: 56px;--tick-stub: 210px;position:relative;display:flex;height:var(--tick-h);cursor:pointer;-webkit-user-select:none;user-select:none;filter:var(--shadow-ticket);transition:filter .2s,opacity .2s}.gift-ticket:hover{filter:var(--shadow-ticket-hover)}.gift-ticket-body{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.75rem;padding:0 1.5rem 0 .9rem;background:var(--white);border:1.5px solid var(--cream-dark);border-right:none;border-radius:var(--radius-lg) 0 0 var(--radius-lg);mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%;transition:background .2s,border-color .2s}.gift-ticket:hover .gift-ticket-body{background:var(--accent-hover-bg)}.gift-ticket.selected .gift-ticket-body{border-color:var(--accent-color);background:var(--accent-hover-bg)}.gift-ticket-stub-wrap{flex:0 0 var(--tick-stub);min-width:0;position:relative;z-index:2;transform-origin:0 0;transition:transform .45s cubic-bezier(.34,1.3,.64,1),filter .45s}.gift-ticket-stub{height:100%;display:flex;align-items:center;gap:.5rem;padding:0 .8rem 0 1.35rem;background:var(--gray-400);color:var(--accent-on);border-radius:0 var(--radius-lg) var(--radius-lg) 0;overflow:hidden;mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%}.gift-ticket-joinable-badge{flex-shrink:0;width:.75em;height:.75em;opacity:.9}button.gift-ticket-stub-wrap{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;margin:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}button.gift-ticket-stub-wrap:disabled{cursor:progress}button.gift-ticket-stub-wrap:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:0 var(--radius-lg) var(--radius-lg) 0}.gift-ticket-stub{position:relative}.gift-ticket-stub:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:#0000;transition:background .2s}.is-action:hover .gift-ticket-stub:before{background:#0000001a}.tk-act-label{display:inline-flex;align-items:center;font-size:var(--text-sm);font-weight:800;white-space:nowrap}.is-action .gift-ticket-stub{transition:scale .12s}.is-action:active .gift-ticket-stub{scale:.97}.gift-ticket.status-available .gift-ticket-stub{background:var(--stub-free)}.gift-ticket.status-yours .gift-ticket-stub{background:var(--accent-brand)}.gift-ticket.status-reserved .gift-ticket-stub{background:var(--stub-taken)}.gift-ticket.status-joinable .gift-ticket-stub{background:var(--stub-free)}.gift-ticket.status-mystery .gift-ticket-stub{background:var(--cream-dark);color:var(--gray-500);justify-content:center;align-items:center;padding:0}[data-theme=dark] .gift-ticket.status-mystery .gift-ticket-stub{background:var(--gray-400);color:var(--gray-800)}.gift-ticket-mystery{font-size:1.3rem;font-weight:700;line-height:1}.gift-ticket.gift-ticket-tall{--tick-h: 88px;--tick-stub: 200px}.gift-ticket-tall .gift-ticket-body{flex-direction:column;align-items:flex-start;justify-content:center;gap:.2rem}.gift-ticket-tall .gift-ticket-stub{flex-direction:column;align-items:flex-start;justify-content:center;gap:.4rem}.gift-ticket-tall .gift-ticket-mystery{font-size:1.7rem}.gift-ticket:is(.status-yours,.status-given,.status-unconfirmed) .gift-ticket-stub-wrap{transform:translate(calc(var(--tick-h) * .0523 + 1px),calc(var(--tick-stub) * -.0209)) rotate(3deg);filter:drop-shadow(0 4px 8px rgba(9,32,11,.18))}.gift-ticket.status-reserved .gift-ticket-stub-wrap{transform:translate(calc(var(--tick-h) * .0349 + 1px),calc(var(--tick-stub) * -.014)) rotate(2deg);filter:drop-shadow(0 4px 8px rgba(9,32,11,.15))}.gift-ticket-perf{position:absolute;top:0;pointer-events:none;z-index:3}.gift-ticket-perf circle,.gift-ticket-perf .perf-edge{fill:none;stroke:var(--cream-dark);stroke-width:1.5;transition:stroke .2s}.gift-ticket.selected .perf-body .perf-edge{stroke:var(--accent-color)}.gift-ticket-perf.perf-body{right:var(--tick-stub)}.gift-ticket-perf.perf-stub{left:0}.gift-ticket.selected .perf-body circle{stroke:var(--accent-color)}@media(prefers-reduced-motion:reduce){.gift-ticket-stub-wrap{transition:none}.gift-ticket:is(.status-yours,.status-given,.status-unconfirmed) .gift-ticket-stub-wrap,.gift-ticket.status-reserved .gift-ticket-stub-wrap{transform:none}}.tk-ruler{position:absolute;left:0;top:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none;display:flex;flex-direction:column;align-items:flex-start}.tk-ruler>*{flex:none;width:max-content}.gift-ticket-body.tk-body{gap:0;padding:0 24px 0 14px}.tk-title{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--plum-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.tk-recipients{margin-left:8px}.tk-people{display:flex;align-items:center;flex:none;white-space:nowrap}.tk-arrow{font-size:var(--text-xs);color:var(--gray-500);margin-right:5px;flex:none}.tk-person{display:inline-flex;align-items:center;gap:4px;flex:none}.tk-person+.tk-person{margin-left:6px}.tk-person-name{font-size:var(--text-xs);color:var(--gray-500);white-space:nowrap}.tk-stack{display:flex;align-items:center;flex:none}.tk-stack.has-badge{padding-right:9px}.tk-stack-av{position:relative;display:flex;flex:none;border-radius:50%;box-shadow:0 0 0 1.5px var(--white)}.tk-stack-av+.tk-stack-av{margin-left:-7px}.tk-badge{position:absolute;top:-6px;right:-9px;z-index:1}.tk-spacer{flex:1 1 0;min-width:0}.tk-occasions{display:flex;align-items:center;gap:5px;flex:none;margin-left:12px}.tk-occasions.has-badge{padding-right:9px}.tk-body>.tt-wrap{margin-left:6px;flex:none}.tk-line>.tt-wrap{flex:none}.tk-spacer+.tt-wrap{margin-left:12px}.tk-chip{position:relative;display:inline-flex;align-items:center;gap:.2rem;flex:none;padding:.12rem .45rem;border-radius:var(--radius-pill);border:1.5px solid var(--cream-dark);color:var(--gray-600);background:var(--white);font-size:var(--text-2xs);font-weight:600;white-space:nowrap}.tk-chip .mat-icon{font-size:var(--icon-sm);color:var(--chip-color, var(--gray-500))}.tk-chip-icon{padding:.12rem .25rem}.tk-msg{--chip-color: var(--plum-600);background:var(--chip-color);border-color:var(--chip-color)}.tk-chip.tk-msg .mat-icon{color:var(--white)}.tk-msg .chip-badge{position:absolute;top:-6px;right:-6px}.gift-ticket.gift-ticket-line .gift-ticket-stub.tk-stub{justify-content:flex-start;gap:0;padding:0 12px 0 20px}.gift-ticket.gift-ticket-line.status-mystery .gift-ticket-stub.tk-stub{justify-content:center;padding:0}.tk-status{display:inline-flex;align-items:center;gap:.25rem;flex:none;margin-right:6px;font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.tk-givers{margin-right:6px}.tk-person-stub .tk-person-name{font-size:var(--text-2xs);font-weight:600;color:inherit}.tk-givers .tk-stack-av,.tk-stub-av{box-shadow:0 0 0 1.5px #ffffff8c}.tk-main-text{font-size:var(--text-md);font-weight:800;line-height:1.2;white-space:nowrap}.gift-ticket-line .tk-stub>.tk-main{margin-left:auto;padding-left:12px}.gift-ticket-tall .gift-ticket-body.tk-body{gap:4px}.tk-line{display:flex;align-items:center;width:100%;min-width:0}.tk-line>.tk-recipients{margin-left:0}.gift-ticket.gift-ticket-tall .gift-ticket-stub.tk-stub{gap:6px;padding:0 12px 0 20px}.gift-ticket.gift-ticket-tall.status-mystery .gift-ticket-stub.tk-stub{align-items:center;padding:0}.tk-stub-top{display:flex;align-items:center;min-width:0}.filter-rowstyle-btn{flex-shrink:0}.panel-backdrop{display:none}.gift-detail-panel,.members-detail-panel,.new-gift-panel{flex:0 0 clamp(520px,40vw,720px);min-width:0;border-left:1px solid var(--cream-dark);background:var(--white);display:flex;flex-direction:column;overflow:hidden;animation:panel-slide-in .18s ease}.new-gift-form{display:flex;flex-direction:column;flex:1;min-height:0}.new-gift-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1.25rem 1rem 1rem;border-bottom:1px solid var(--cream-dark);flex-shrink:0}.new-gift-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--plum-900)}.new-gift-scroll{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.new-gift-footer{flex-shrink:0;padding:.75rem 1rem;border-top:1px solid var(--cream-dark);background:var(--white);display:flex;gap:.5rem;justify-content:flex-end}.form-side-panel .new-gift-scroll{gap:.75rem;padding:1rem}.form-panel-body input[type=text],.group-rename-form input[type=text]{padding:.6rem .75rem;font-size:var(--text-md)}.form-panel-body .icon-pick-trigger{width:44px;height:44px}.form-panel-body .date-field-trigger{padding:.6rem .75rem;font-size:var(--text-sm)}.form-name-field{display:flex;flex-direction:column;gap:.35rem}.form-panel-gap{flex:1}.form-panel-delete{display:inline-flex;align-items:center;gap:.35rem}.form-panel-end{display:flex;padding-top:.5rem;border-top:1px solid var(--cream-dark)}.new-gift-footer.form-panel-actions{align-items:center}.occasion-item.is-editing{background:var(--accent-hover-bg);box-shadow:inset 0 0 0 1.5px var(--accent-color);color:var(--accent-ink)}.occasion-item.is-editing .inline-action-btn{color:var(--accent-ink);border-color:var(--accent-color)}.group-rename-anchor{position:relative;display:inline-flex}.content-lead:has(.group-rename-pop){z-index:var(--z-popover)}.content-header-edit-btn.active{color:var(--accent-ink);background:var(--accent-hover-bg)}.group-rename-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-popover);width:340px;padding:1rem;background:var(--white);border:1px solid var(--cream-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.group-rename-form{display:flex;flex-direction:column;gap:.5rem}.group-rename-actions{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.group-rename-actions .btn-primary{padding:.55rem 1.1rem;font-size:var(--text-sm)}.group-rename-sheet .group-rename-form{padding:0 1rem 1rem}@media(max-width:768px){.group-rename-sheet .group-rename-actions{flex-wrap:wrap}.group-rename-sheet .group-rename-actions .btn-primary{order:-1;flex:1 0 100%;padding:.75rem;font-size:var(--text-md)}.group-rename-sheet .form-panel-gap{display:none}}.new-gift-footer,.form-footer{flex-wrap:wrap}.others-edit-toggle{display:inline-flex;align-items:center;gap:.45rem;margin-right:auto;font-size:var(--text-xs);color:var(--gray-600);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.form-footer .others-edit-toggle{margin:0 0 0 auto}.others-edit-toggle input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.others-edit-track{position:relative;flex:none;width:30px;height:18px;border-radius:999px;background:var(--cream-dark);transition:background .15s}.others-edit-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--white);box-shadow:0 1px 2px #0003;transition:transform .15s}.others-edit-toggle input:checked+.others-edit-track{background:var(--accent-color)}.others-edit-toggle input:checked+.others-edit-track:after{transform:translate(12px)}.others-edit-toggle input:focus-visible+.others-edit-track{outline:2px solid var(--accent-color);outline-offset:2px}.claim-split-btn{position:relative;display:flex}.claim-split-primary{border-radius:var(--radius) 0 0 var(--radius)}.claim-split-caret{border-radius:0 var(--radius) var(--radius) 0;padding:.75rem .6rem;border-left:1px solid oklch(1 0 0 / .25);display:flex;align-items:center;justify-content:center}.claim-split-caret .mat-icon{transition:transform .15s ease}.claim-split-caret.open .mat-icon{transform:rotate(180deg)}.claim-menu-popover{position:absolute;bottom:calc(100% + 8px);right:0;width:260px;background:var(--white);border-radius:var(--radius-lg);padding:.4rem;box-shadow:var(--shadow-pop);z-index:var(--z-popover);display:flex;flex-direction:column;gap:2px}.claim-menu-item{display:flex;align-items:flex-start;gap:.6rem;width:100%;background:none;border:none;cursor:pointer;padding:.55rem .65rem;border-radius:var(--radius-sm);text-align:left;transition:background .12s}.claim-menu-item:hover:not(:disabled){background:var(--accent-hover-bg)}.claim-menu-item.active{background:var(--accent-hover-bg)}.claim-menu-item:disabled{color:var(--gray-500);cursor:not-allowed}.claim-menu-item .mat-icon{font-size:var(--icon-md);color:var(--accent-ink);margin-top:.1rem;flex-shrink:0}.claim-menu-item:disabled .mat-icon{color:var(--gray-500)}.claim-menu-item-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.claim-menu-item-title{font-size:var(--text-sm);font-weight:600;color:var(--plum-800)}.claim-menu-item:disabled .claim-menu-item-title{color:var(--gray-500)}.claim-menu-item-desc{font-size:var(--text-xs);color:var(--gray-500)}.members-detail-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1.25rem 1rem 1rem;border-bottom:1px solid var(--cream-dark);flex-shrink:0}.members-detail-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--plum-900)}.members-detail-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.members-detail-scroll{flex:1;overflow-y:auto;padding:.75rem 1rem}.members-detail-invite{flex-shrink:0;padding:.75rem 1rem;border-top:1px solid var(--cream-dark);background:var(--white)}@keyframes panel-slide-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.gift-detail-switch{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;animation:gift-switch-fade .26s ease}@keyframes gift-switch-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gift-detail-header{padding:.5rem 1rem 1.35rem;flex-shrink:0}.gdt{position:relative;filter:var(--shadow-ticket-detail)}.gdt-side{display:flex;align-items:stretch;--gdt-sw: 200px}.gdt-body,.gdt-stub{position:relative}.gdt-side .gdt-body{flex:1 1 auto;min-width:0}.gdt-body-bg,.gdt-stub-bg{position:absolute;top:0;right:0;bottom:0;left:0;mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%}.gdt-body-bg{background:var(--cream)}.gdt-below .gdt-body-bg{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.gdt-side .gdt-body-bg{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.gdt-body:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--cream-dark);pointer-events:none}.gdt-below .gdt-body:after{bottom:8px;border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.gdt-side .gdt-body:after{right:8px;border-right:none;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.gdt-body-content{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:1.1rem 1.25rem 1.2rem}.gdt-side .gdt-body-content{padding-right:1.6rem}.gdt-stub{z-index:2;display:block;transform-origin:0 0;transition:transform .45s cubic-bezier(.34,1.3,.64,1),filter .3s,scale .12s}.gdt-side .gdt-stub{flex:0 0 var(--gdt-sw)}button.gdt-stub{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;margin:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.gdt-below button.gdt-stub{width:100%}button.gdt-stub:disabled{cursor:progress}button.gdt-stub:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px;border-radius:var(--radius-lg)}.gdt-stub.is-action:active{scale:.98}.gdt-stub-bg{background:var(--gray-400);transition:filter .2s}.gdt-stub.is-action:hover .gdt-stub-bg{filter:brightness(.9)}.gdt-below .gdt-stub-bg{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.gdt-side .gdt-stub-bg{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.gdt-stub-stack{position:relative;display:grid;height:100%}.gdt-stub-stack>.gdt-stub-content{grid-area:1 / 1}.gdt-stub-ghost{visibility:hidden;pointer-events:none}.gdt-stub-content{position:relative;display:flex;gap:.75rem;color:var(--accent-on)}.gdt-below .gdt-stub-content{min-height:64px;align-items:center;justify-content:space-between;padding:.7rem 1.25rem}.gdt-side .gdt-stub-content{height:100%;flex-direction:column;justify-content:center;align-items:flex-start;gap:.6rem;padding:1rem 1.1rem 1rem 1.5rem}.gdt-stub-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.gdt-stub-label{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--text-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85}.gdt-joinable-badge{flex-shrink:0;width:1.1em;height:1.1em}.gdt-stub-detail{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;font-size:var(--text-sm);font-weight:600}.gdt-stub-detail .gift-for-person-name{color:inherit}.gdt-stub-detail .avatar{box-shadow:0 0 0 1.5px #ffffff8c}.tk-act-label.gdt-act{font-size:var(--text-md);flex-shrink:0}.gdt-mystery{width:100%;text-align:center;font-size:1.6rem;font-weight:700;line-height:1}.gdt.status-mystery .gdt-stub-content{align-items:center;justify-content:center}.gdt.status-available .gdt-stub-bg,.gdt.status-joinable .gdt-stub-bg{background:var(--stub-free)}.gdt.status-yours .gdt-stub-bg{background:var(--accent-brand)}.gdt.status-reserved .gdt-stub-bg{background:var(--stub-taken)}.gdt.status-mystery .gdt-stub-bg{background:var(--cream-dark)}.gdt.status-mystery .gdt-stub-content{color:var(--gray-500)}[data-theme=dark] .gdt.status-mystery .gdt-stub-bg{background:var(--gray-400)}[data-theme=dark] .gdt.status-mystery .gdt-stub-content{color:var(--gray-800)}.gdt-side:is(.status-yours,.status-given,.status-unconfirmed) .gdt-stub{transform:translate(calc(var(--gdt-h) * .0523 + 1px),calc(var(--gdt-sw) * -.0209)) rotate(3deg);filter:drop-shadow(0 6px 10px rgba(9,32,11,.16))}.gdt-side.status-reserved .gdt-stub{transform:translate(calc(var(--gdt-h) * .0349 + 1px),calc(var(--gdt-sw) * -.014)) rotate(2deg);filter:drop-shadow(0 6px 10px rgba(9,32,11,.13))}.gdt-below:is(.status-yours,.status-given,.status-unconfirmed) .gdt-stub{transform:translateY(1px) rotate(1.5deg);filter:drop-shadow(0 6px 10px rgba(9,32,11,.16))}.gdt-below.status-reserved .gdt-stub{transform:translateY(1px) rotate(1deg);filter:drop-shadow(0 6px 10px rgba(9,32,11,.13))}.gdt-perf{position:absolute;pointer-events:none;z-index:1}.gdt-below .gdt-perf-body{left:0;bottom:0}.gdt-below .gdt-perf-stub{left:0;top:0}.gdt-side .gdt-perf-body{right:0;top:0}.gdt-side .gdt-perf-stub{left:0;top:0}.gdt-perf circle,.gdt-perf .gdt-perf-edge{fill:none;stroke:var(--cream-dark);stroke-width:1.5}@media(prefers-reduced-motion:reduce){.gdt-stub{transition:none}.gdt:is(.status-yours,.status-given,.status-unconfirmed) .gdt-stub,.gdt.status-reserved .gdt-stub{transform:none}}.gift-detail-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--plum-900);line-height:1.25;word-break:break-word}.gift-detail-header-icons{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-shrink:0;position:sticky;top:0;z-index:var(--z-sticky);padding:.75rem 1rem .1rem;background:var(--white)}.gdh-history-wrap{display:inline-flex}.gdh-history-tooltip{position:absolute;top:calc(100% + 4px);right:1rem;background:var(--plum-900);color:var(--white);font-size:var(--text-2xs);line-height:1.5;padding:.45rem .65rem;border-radius:var(--radius-sm);min-width:min(190px,calc(100% - 2rem));max-width:min(260px,calc(100% - 2rem));white-space:normal;z-index:var(--z-tooltip);pointer-events:none;opacity:0;transition:opacity .15s;box-shadow:var(--shadow-pop)}.gdh-history-wrap:hover .gdh-history-tooltip{opacity:1}.gdh-history-tooltip p{margin:0}.gdh-history-tooltip p+p{margin-top:.2rem;opacity:.75}.gift-detail-meta{display:grid;grid-template-columns:auto 1fr;gap:.5rem .9rem;align-items:baseline;font-size:var(--text-xs);color:var(--gray-700)}.gdm-value{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .5rem;min-width:0}.gdm-label{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);flex-shrink:0}.gdm-none{color:var(--gray-500);font-size:var(--text-xs)}.gdm-plan{display:flex;flex-direction:column;gap:.2rem;min-width:0}.gdm-plan-main{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.gdm-plan-value{font-weight:600;color:var(--gray-800)}.gdm-plan-change{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--accent-ink)}.gdm-plan-change:hover{text-decoration:underline}.gdm-hint{display:inline-flex;align-items:flex-start;gap:.3rem;font-size:var(--text-2xs);line-height:1.4;color:var(--gray-600)}.gdm-hint .mat-icon{font-size:var(--icon-sm);flex:none;margin-top:.08rem}.tk-chip.is-plan{background:var(--chip-color);border-color:var(--chip-color);color:var(--white)}.tk-chip.is-plan .mat-icon{color:var(--white)}.tk-chip.is-past,.tk-chip.is-past .mat-icon{color:var(--gray-500)}.tk-chip.is-plan.is-past{background:var(--gray-500);border-color:var(--gray-500);color:var(--white)}.tk-chip.is-plan.is-past .mat-icon{color:var(--white)}.tk-chip.is-hidden-occ{border-style:dashed;border-color:var(--gray-400)}.tk-chip.is-plan.is-hidden-occ{border-color:color-mix(in srgb,var(--white) 85%,transparent)}.gdm-plan-occ.is-hidden-occ{text-decoration:underline dashed var(--gray-400);text-underline-offset:3px}.tk-chip.is-givers-only{outline:1px dashed color-mix(in srgb,var(--white) 85%,transparent);outline-offset:-3.5px}.plan-sheet{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);width:100%;max-width:400px;max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.25rem 0 1rem;display:flex;flex-direction:column}.plan-handle{display:none}.plan-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--plum-900);margin:0;padding:0 1.25rem}.plan-sub{margin:.25rem 0 .75rem;padding:0 1.25rem;font-size:var(--text-xs);line-height:1.45;color:var(--gray-600)}.plan-opts{display:flex;flex-direction:column;border-top:1px solid var(--cream-dark)}.plan-opt{position:relative;display:flex;align-items:center;gap:.6rem;padding:.7rem 1.25rem;cursor:pointer;font-size:var(--text-sm);color:var(--gray-800);border-bottom:1px solid var(--cream-dark);transition:background .12s}.plan-opt:hover{background:var(--accent-hover-bg)}.plan-opt.is-picked{background:color-mix(in srgb,var(--green) 10%,var(--white))}.plan-opt input{position:absolute;opacity:0;pointer-events:none}.plan-opt:has(input:focus-visible){outline:2px solid var(--accent-color);outline-offset:-2px}.plan-opt-dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--gray-400)}.plan-opt.is-picked .plan-opt-dot{border:5px solid var(--green)}.plan-opt-label{display:inline-flex;align-items:center;gap:.4rem;min-width:0;flex:1 1 auto}.plan-opt-label .mat-icon{font-size:var(--icon-sm);color:var(--gray-500)}.plan-opt-tag{font-size:var(--text-2xs);font-weight:700;color:var(--coral-hover)}.plan-opt.is-blocked{cursor:not-allowed;color:var(--gray-500)}.plan-opt.is-blocked:hover{background:none}.plan-opt.is-blocked .plan-opt-dot{border-style:dashed;border-color:var(--cream-dark)}.plan-opt-text{display:flex;flex-direction:column;min-width:0}.plan-opt-sub{font-size:var(--text-2xs);line-height:1.3}.plan-opt-date{margin-left:auto;font-size:var(--text-xs);color:var(--gray-600);white-space:nowrap;font-variant-numeric:tabular-nums}.plan-fold{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem 1.25rem;background:none;border:none;border-bottom:1px solid var(--cream-dark);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--accent-ink);cursor:pointer;text-align:left}.plan-fold:hover{background:var(--accent-hover-bg)}.plan-fold .mat-icon{font-size:var(--icon-sm)}.plan-fold-chev{margin-left:auto}.plan-note{display:flex;align-items:flex-start;gap:.5rem;margin:0;padding:.55rem 1.25rem .65rem 2.9rem;font-size:var(--text-xs);line-height:1.45;color:var(--gray-600);border-bottom:1px solid var(--cream-dark)}.plan-note-chip{flex:none}.plan-date{padding:.6rem 1.25rem;border-bottom:1px solid var(--cream-dark)}.plan-eyebrow{padding:0 1.25rem .15rem;font-size:var(--text-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500)}.plan-actions{display:flex;gap:.6rem;padding:1rem 1.25rem 0}.plan-confirm{flex:1;padding:.7rem 1rem}.date-cal-day:disabled,.date-cal-day:disabled:hover{color:var(--gray-500);opacity:.45;background:none;cursor:default}@media(max-width:768px){.plan-overlay{align-items:flex-end;padding:0}.plan-sheet{max-width:none;max-height:90dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-top:0;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.plan-handle{display:block;width:36px;height:4px;border-radius:2px;background:var(--cream-dark);margin:0 auto .8rem}.plan-back{display:none}.plan-confirm{padding:.85rem 1rem}}.gift-ticket.status-given .gift-ticket-stub,.gdt.status-given .gdt-stub-bg{background:var(--coral-light)}.gift-ticket.status-unconfirmed .gift-ticket-stub,.gdt.status-unconfirmed .gdt-stub-bg{background:color-mix(in srgb,var(--coral-light) 55%,var(--white))}.gift-ticket.status-cancelled .gift-ticket-stub,.gdt.status-cancelled .gdt-stub-bg{background:var(--cream-dark)}[data-theme=dark] :is(.gift-ticket.status-cancelled .gift-ticket-stub,.gdt.status-cancelled .gdt-stub-bg){background:color-mix(in srgb,var(--gray-400) 45%,var(--white))}.gift-ticket:is(.status-given,.status-unconfirmed,.status-cancelled) .gift-ticket-stub.tk-stub,.gdt:is(.status-given,.status-unconfirmed,.status-cancelled) .gdt-stub-content{justify-content:center;align-items:center;color:var(--coral-hover)}.gift-ticket.gift-ticket-line:is(.status-given,.status-unconfirmed,.status-cancelled) .gift-ticket-stub.tk-stub{padding:0 12px 0 20px}.gift-ticket.status-cancelled .gift-ticket-stub.tk-stub,.gdt.status-cancelled .gdt-stub-content{color:var(--gray-600)}[data-theme=dark] :is(.gift-ticket:is(.status-given,.status-unconfirmed) .gift-ticket-stub.tk-stub,.gdt:is(.status-given,.status-unconfirmed) .gdt-stub-content){color:var(--coral-hover)}[data-theme=dark] :is(.gift-ticket.status-cancelled .gift-ticket-stub.tk-stub,.gdt.status-cancelled .gdt-stub-content){color:var(--gray-800)}.tk-stamp-stack{display:inline-flex;flex-direction:column;align-items:center;gap:3px}.tk-stamp{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;border:2px solid currentColor;border-radius:var(--radius-sm);font-size:var(--text-2xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;rotate:-4deg}.tk-stamp .icon-svg{stroke-width:3}.tk-stamp.is-dashed{border-style:dashed;opacity:.8}.tk-stamp-sub{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-2xs);font-weight:700;white-space:nowrap}.tk-stamp-sub .tk-stack-av{box-shadow:0 0 0 1.5px var(--coral-light)}.gdt .tk-stamp{font-size:var(--text-xs);padding:.15rem .5rem}.gdt .tk-stamp-sub{font-size:var(--text-sm)}.archive-filter-bar{position:relative;z-index:var(--z-sticky)}.archive-search-row{align-items:center;gap:.5rem}.archive-search{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.45rem;padding:0 .7rem;height:34px;border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--cream);color:var(--gray-500);transition:border-color .15s}.archive-search:focus-within{border-color:var(--accent-color);background:var(--white)}.archive-search input{flex:1;min-width:0;border:none;background:none;outline:none;padding:0;height:100%;font-family:var(--font-body);font-size:var(--text-sm);color:var(--gray-800)}.archive-occasion-wrap{flex:0 1 auto;min-width:0}.archive-occasion{display:inline-flex;align-items:center;gap:.4rem;height:34px;max-width:100%;padding:0 .55rem 0 .7rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--cream);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--gray-600);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.archive-occasion:hover,.archive-occasion[aria-expanded=true]{border-color:var(--accent-color);background:var(--accent-hover-bg);color:var(--accent-ink)}.archive-occasion.is-active{border-color:var(--accent-color);background:var(--accent-hover-bg-strong);color:var(--accent-ink-strong);font-weight:600}.archive-occasion-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.archive-occasion-icon{font-size:var(--icon-sm);flex:none}.archive-occasion-menu{min-width:240px;max-height:min(360px,60vh);overflow-y:auto}.archive-occasion-item .archive-occasion-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-occasion-date{margin-left:.75rem;font-size:var(--text-2xs);color:var(--gray-500);white-space:nowrap}@media(max-width:768px){.archive-search-row{flex-wrap:wrap}.archive-search{flex-basis:100%}.archive-occasion-wrap{flex:1 1 0}.archive-occasion{width:100%}.archive-occasion .icon-svg:last-child{margin-left:auto}}.archive-list{gap:0}.archive-year+.archive-year{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--cream-dark)}.archive-year-title{display:flex;align-items:baseline;gap:.5rem;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--plum-900)}.archive-year-count{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;color:var(--gray-600)}.archive-month{display:flex;flex-direction:column;gap:1rem;margin-top:.7rem}.archive-month-title{font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-600);margin-bottom:-.35rem}.gift-archive-actions{display:flex;align-items:center;gap:.5rem;margin-top:.9rem}.gift-archive-action{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:40px;padding:0 .95rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--gray-800);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.gift-archive-action:hover:not(:disabled){background:var(--accent-hover-bg);border-color:var(--accent-color)}.gift-archive-action:disabled{opacity:.55;cursor:progress}.gift-archive-action.is-primary{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-on);font-weight:700}.gift-archive-action.is-primary:hover:not(:disabled){background:var(--accent-ink-strong);border-color:var(--accent-ink-strong)}.gift-archive-more-wrap{position:relative;margin-left:auto;flex:none}.gift-archive-more{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);color:var(--gray-600);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.gift-archive-more:hover:not(:disabled),.gift-archive-more.is-open{border-color:var(--accent-color);background:var(--accent-hover-bg);color:var(--accent-ink)}.gift-archive-more .icon-svg{font-size:var(--icon-md)}.gift-archive-menu{min-width:210px}.filter-sort-item.is-danger,.filter-sort-item.is-danger:hover{color:var(--danger-text);font-weight:600}.filter-sort-item.is-danger:hover{background:var(--danger-wash)}@media(max-width:768px){.gift-archive-action.is-primary{flex:1;height:46px}.gift-archive-more{width:46px;height:46px}}.gvsec-hint{display:flex;align-items:flex-start;gap:.4rem;margin-top:.5rem;font-size:var(--text-xs);line-height:1.45;color:var(--gray-600)}.gvsec-hint .icon-svg{flex:none;margin-top:.12rem}.comments-closed{display:flex;align-items:center;gap:.45rem;margin-top:.75rem;padding:.6rem .8rem;border-radius:var(--radius);background:var(--cream);font-size:var(--text-xs);color:var(--gray-600)}.content-subtitle-clear{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:.35rem;border:none;border-radius:50%;background:none;color:var(--gray-500);cursor:pointer}.content-subtitle-clear:hover{background:var(--accent-hover-bg);color:var(--accent-ink)}.content-subtitle-clear .icon-svg{font-size:var(--icon-sm)}.archive-status-seg{flex:1;display:flex}.archive-status-seg .seg-btn{flex:1;justify-content:center;padding-left:.3rem;padding-right:.3rem}.archive-sheet-body strong{color:var(--gray-800);font-weight:600}.archive-reason-label{padding:0 1.25rem;margin-bottom:.4rem;font-size:var(--text-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500)}.archive-reasons{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1.25rem}.archive-reason{padding:.35rem .75rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius-pill);background:var(--white);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--gray-800);cursor:pointer}.archive-reason:hover{background:var(--accent-hover-bg)}.archive-reason.is-given{border-style:dashed}.archive-reason.is-picked{background:var(--plum-900);border-color:var(--plum-900);border-style:solid;color:var(--white)}.plan-confirm .icon-svg{margin-right:.35rem}.plan-confirm{display:inline-flex;align-items:center;justify-content:center}.plan-confirm[aria-disabled=true]{cursor:wait}.plan-title.has-icon{display:flex;align-items:center;gap:.6rem}.plan-title-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--danger-wash);color:var(--danger-text);font-size:var(--icon-md)}.archive-sheet-note{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .6rem;padding:0 1.25rem;font-size:var(--text-sm);font-weight:600;line-height:1.4;color:var(--gray-800)}.sheet-grab+.archive-sheet-note{margin-top:.6rem}.archive-sheet-note .icon-svg{flex:none;font-size:var(--icon-md);margin-top:.05rem;color:var(--coral)}.archive-sheet-note-sub{display:block;margin-top:.15rem;font-size:var(--text-xs);font-weight:400;color:var(--gray-600)}.sheet-gift-rows{list-style:none;margin:.6rem 0 .75rem;padding:0 1.25rem;max-height:40vh;overflow-y:auto}.sheet-gift-row{display:flex;align-items:center;gap:.65rem;padding:.5rem 0;border-top:1px solid var(--cream-dark)}.sheet-gift-row:last-child{border-bottom:1px solid var(--cream-dark)}.sheet-gift-av.avatar{flex:none;width:28px;height:28px;font-size:.72rem}.sheet-gift-text{flex:1;min-width:0;display:flex;flex-direction:column}.sheet-gift-title,.sheet-gift-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-gift-title{font-size:var(--text-sm);font-weight:600;color:var(--gray-800)}.sheet-gift-sub{font-size:var(--text-xs);color:var(--gray-600)}.sheet-gift-date{flex:none;font-size:var(--text-xs);color:var(--gray-600);font-variant-numeric:tabular-nums}.gift-ticket:is(.is-expired,.status-reserved) .gift-ticket-body{background:color-mix(in srgb,var(--cream-dark) 45%,var(--cream))}.gift-ticket:is(.is-expired,.status-reserved):is(:hover,.selected) .gift-ticket-body{background:var(--accent-hover-bg)}.gift-ticket:is(.is-expired,.status-reserved) .tk-title{color:var(--gray-600)}.gift-ticket.is-expired.status-available .gift-ticket-stub{background:var(--stub-expired)}.gift-ticket-body.tk-body{position:relative}.tk-select-check{position:absolute;left:0;top:50%;translate:-50% -50%;z-index:1;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid var(--gray-400);border-radius:50%;background:var(--white);color:var(--accent-on);transition:background .15s,border-color .15s}.tk-select-check .icon-svg{font-size:var(--icon-sm);stroke-width:3}.gift-ticket.is-picked .tk-select-check{border-color:var(--accent-color);background:var(--accent-color)}.gift-ticket.is-picked .gift-ticket-body{border-color:var(--accent-color);background:var(--accent-hover-bg-strong)}.gift-ticket.is-picked .perf-body circle,.gift-ticket.is-picked .perf-body .perf-edge{stroke:var(--accent-color)}.gift-ticket.is-unpickable,.gift-ticket.is-unpickable:hover{opacity:.42;cursor:default;filter:var(--shadow-ticket)}.gift-ticket:is(.is-pickable,.is-picked):focus-visible{outline:none}.gift-ticket:is(.is-pickable,.is-picked):focus-visible .tk-select-check{outline:2px solid var(--accent-color);outline-offset:2px}.gift-ticket.is-pickable:focus-visible .gift-ticket-body{border-color:var(--accent-color)}.gift-ticket{-webkit-touch-callout:none}.tk-select-hover{padding:0;cursor:pointer;opacity:0;scale:.6;transition:opacity .15s,scale .2s ease,border-color .15s}.tk-select-hover:before{content:"";position:absolute;top:-8px;right:0;bottom:-8px;left:-14px}.gift-ticket.can-pick:is(:hover,:focus-within) .tk-select-hover{opacity:1;scale:1}.tk-select-hover:hover{border-color:var(--accent-color)}.filter-select-btn{display:inline-flex;align-items:center;flex:none;gap:.35rem;height:34px;min-width:34px;padding:0 .7rem 0 7px;border:none;border-radius:var(--radius);background:none;cursor:pointer;white-space:nowrap;font:700 var(--text-sm) var(--font-body);color:var(--accent-ink)}.filter-select-btn:hover{background:var(--accent-hover-bg-strong)}.filter-select-btn .icon-svg{font-size:var(--icon-md)}@media(max-width:768px){.filter-select-btn{justify-content:center;padding:0}}.filter-select-sep{flex:none;align-self:stretch;width:1px;margin:4px .15rem;background:var(--cream-dark)}.selection-sticky{position:sticky;top:calc(var(--stick-compact-h) + .5rem);z-index:var(--z-sticky);height:0}.filter-bar.is-selecting.selection-sticky-bar{position:absolute;top:0;left:0;right:0;margin:0;padding:.4rem 1rem;background:color-mix(in srgb,var(--accent-color) 7%,var(--white));box-shadow:var(--shadow-pop);visibility:hidden;opacity:0;transition:opacity .15s,visibility 0s .15s}.main-content[data-filters-under] .selection-sticky-bar{visibility:visible;opacity:1;transition:opacity .15s}.filter-bar.is-selecting{background:var(--accent-hover-bg);border-color:color-mix(in srgb,var(--accent-color) 45%,var(--cream-dark))}.selection-row{align-items:center;gap:.25rem;min-height:34px}.selection-exit{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border:none;border-radius:var(--radius);background:none;color:var(--gray-800);cursor:pointer}.selection-exit:hover{background:var(--accent-hover-bg-strong)}.selection-exit .icon-svg{font-size:var(--icon-md)}.selection-count{flex:1;min-width:0;font-size:var(--text-md);font-weight:700;color:var(--gray-800)}.selection-mine{padding:.4rem .5rem;border:none;border-radius:var(--radius);background:none;cursor:pointer;white-space:nowrap;font:700 var(--text-sm) var(--font-body);color:var(--accent-ink)}.selection-mine:hover{background:var(--accent-hover-bg-strong)}.selection-bar{position:sticky;bottom:1.25rem;z-index:var(--z-sticky-top);display:flex;gap:.5rem;width:max-content;max-width:100%;margin:1.25rem auto 0;padding:.5rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-pop)}.selection-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:38px;padding:0 .9rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);cursor:pointer;white-space:nowrap;font:600 var(--text-sm) var(--font-body);color:var(--gray-800);transition:background .15s,border-color .15s}.selection-btn:hover:not(:disabled){background:var(--accent-hover-bg);border-color:var(--accent-color)}.selection-btn.is-primary{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-on);font-weight:700}.selection-btn.is-primary:hover:not(:disabled){background:var(--accent-ink-strong);border-color:var(--accent-ink-strong)}.selection-btn:disabled{opacity:.4;cursor:default}.selection-btn .icon-svg{font-size:var(--icon-sm)}.selection-bar.is-narrow{position:fixed;left:0;right:0;bottom:0;flex-direction:column;width:auto;margin:0;padding:.75rem 1rem calc(.9rem + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;box-shadow:0 -8px 20px #0000000f}.selection-split{display:flex;gap:2px}.selection-split .selection-btn{height:50px;font-size:var(--text-md)}.selection-split .selection-btn:first-child{flex:1;min-width:0;border-radius:var(--radius-lg) 4px 4px var(--radius-lg)}.selection-split .selection-arrow{flex:none;width:50px;padding:0;border-radius:4px var(--radius-lg) var(--radius-lg) 4px}@media(max-width:768px){.gift-list.is-selecting{padding-bottom:6rem}}.tk-leave-stamp{position:absolute;left:50%;top:50%;z-index:4;pointer-events:none;display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border:2.5px solid currentColor;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--coral-hover);background:color-mix(in srgb,var(--coral-light) 85%,transparent);transform:translate(-50%,-50%) rotate(-6deg) scale(1.6);opacity:0;transition:transform .25s cubic-bezier(.3,1.4,.6,1),opacity .15s}.tk-leave-stamp .icon-svg{stroke-width:3}.gift-ticket.leave-cancelled .tk-leave-stamp{color:var(--gray-600);background:color-mix(in srgb,var(--cream-dark) 85%,transparent)}.gift-ticket.is-leaving:not(.leave-p0) .tk-leave-stamp{transform:translate(-50%,-50%) rotate(-6deg) scale(1);opacity:1}.gift-ticket.is-leaving .gift-ticket-stub>*{transition:opacity .15s}.gift-ticket.is-leaving:not(.leave-p0) .gift-ticket-stub>*{opacity:0}.gift-ticket.leave-given:not(.leave-p0) .gift-ticket-stub{background:var(--coral-light)}.gift-ticket.leave-cancelled:not(.leave-p0) .gift-ticket-stub{background:var(--cream-dark)}.gift-ticket.is-leaving.leave-given:is(.leave-p2,.leave-p3,.leave-p4) .gift-ticket-stub-wrap{transform:translate(20px,12px) rotate(16deg);filter:drop-shadow(0 12px 14px rgba(0,0,0,.22))}.gift-ticket.is-leaving.tk-flying{position:fixed;z-index:var(--z-sheet);margin:0;pointer-events:none;transform-origin:center;transition:transform .5s cubic-bezier(.55,0,.25,1),opacity .15s ease-in .38s}.gift-ticket.is-leaving{pointer-events:none;transition:opacity .2s,height .3s ease,margin .3s ease,filter .2s}.gift-ticket.is-leaving:is(.leave-p3,.leave-p4){opacity:0}.gift-ticket.is-leaving.leave-p4{height:0;margin-bottom:-1rem}.occasion-item.occasion-category.is-bumped{animation:archive-bump .35s ease}@keyframes archive-bump{50%{transform:scale(1.06);background:var(--accent-hover-bg-strong)}}@media(prefers-reduced-motion:reduce){.tk-leave-stamp{transition:opacity .15s}.gift-ticket.is-leaving.leave-given:is(.leave-p2,.leave-p3,.leave-p4) .gift-ticket-stub-wrap{transform:none}.occasion-item.occasion-category.is-bumped{animation:none}}.gift-late{margin-top:.9rem}.gift-late-q{margin:0 0 .55rem;font-size:var(--text-sm);font-weight:700;color:var(--gray-800)}.gift-late-text{margin:-.25rem 0 .7rem;font-size:var(--text-xs);line-height:1.45;color:var(--gray-600)}.gift-late .gift-archive-actions{margin-top:0;flex-wrap:wrap}.gift-late-actions{display:flex;flex-wrap:wrap;gap:.5rem}.gift-late-actions .gift-archive-action{flex:1 1 auto;height:44px}.gift-late-opts{margin:0 0 .75rem;overflow:hidden;border:1.5px solid var(--cream-dark);border-radius:var(--radius)}.gift-late-opts .plan-opt:last-child{border-bottom:none}.gift-archive-action.is-primary.is-dark{background:var(--plum-900);border-color:var(--plum-900)}.gift-archive-action.is-wide{width:100%}.gift-detail-icon-btn .mat-icon,.gift-detail-close .mat-icon{font-size:var(--icon-md)}.gift-detail-icon-btn-plain{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:1.5px solid transparent;border-radius:var(--radius);color:var(--gray-600);cursor:default;flex-shrink:0}.gift-detail-body{flex:1 0 auto;display:flex;flex-direction:column}.gift-detail-scroll{flex:1 0 auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.gvsec{padding-top:.65rem;border-top:1px solid var(--cream-dark)}.gvsec-title{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);margin:0 0 .35rem}.gvsec .mpt-sum-line{color:var(--gray-600)}.gvsec .mpt-sum-line strong{color:var(--gray-800)}.gift-detail-comment-form{flex-shrink:0;position:sticky;bottom:0;z-index:var(--z-sticky);padding:.75rem .85rem;border-top:1px solid var(--cream-dark);background:var(--cream)}.comment-composer{background:var(--white);border:1.5px solid var(--cream-dark);border-radius:var(--radius);display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s;overflow:hidden}.comment-composer:focus-within{border-color:var(--plum-600);box-shadow:0 0 0 3px #3669b81f}.comment-composer-input{border:none;outline:none;padding:.65rem .8rem;font-family:var(--font-body);font-size:var(--text-sm);background:transparent;resize:none;color:var(--gray-800);width:100%}.comment-composer-input::placeholder{color:var(--gray-500)}.comment-composer-bar{display:flex;align-items:center;gap:.4rem;padding:.3rem .4rem .3rem .55rem;border-top:1px solid var(--cream-dark);background:var(--white)}.comment-vis-pill{display:inline-flex;align-items:center;gap:.3rem;background:transparent;border:1px solid var(--cream-dark);border-radius:var(--radius-pill);padding:.2rem .6rem .2rem .45rem;font-size:var(--text-2xs);color:var(--gray-600);cursor:pointer;transition:background .15s,color .15s,border-color .15s;font-family:var(--font-body);font-weight:500}.comment-vis-pill:hover{background:var(--accent-hover-bg);color:var(--accent-ink);border-color:var(--accent-hover-bg-strong)}.comment-vis-pill.is-visible{background:var(--accent-hover-bg-strong);color:var(--accent-ink-strong);border-color:var(--accent-color)}.comment-vis-pill .mat-icon{font-size:var(--icon-sm)}.comment-vis-pill-text{white-space:nowrap}.comment-send-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius);background:var(--accent-color);color:var(--accent-on);cursor:pointer;transition:background .15s,transform .1s;margin-left:auto;flex-shrink:0}.comment-send-btn:hover:not(:disabled){filter:brightness(.92)}.comment-send-btn:active:not(:disabled){transform:scale(.94)}.comment-send-btn:disabled{background:var(--cream-dark);color:var(--gray-500);cursor:not-allowed}.comment-send-btn .mat-icon{font-size:var(--icon-md)}.gift-image-grid{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.gift-image-display-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.gift-image-link{display:block;flex-shrink:0;background:none;border:none;padding:0;cursor:zoom-in}.gift-image-full{width:160px;height:120px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--cream-dark);background:var(--cream);display:block;transition:opacity .15s}.gift-image-full:hover{opacity:.85}.gift-image-preview-wrap{position:relative;flex-shrink:0}.gift-image-thumb{width:80px;height:80px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--cream-dark);display:block}.gift-image-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--gray-600);color:var(--white);border:none;cursor:pointer;font-size:var(--icon-sm);line-height:1;display:flex;align-items:center;justify-content:center;padding:0}.gift-image-remove:hover{background:var(--gray-800)}.gift-image-converting{width:80px;height:80px;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:var(--radius);border:1px solid var(--cream-dark);background:var(--cream);font-size:var(--text-2xs);color:var(--gray-500);animation:skeleton-pulse 1.4s ease-in-out infinite}.gift-image-upload-btn{width:80px;height:80px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border:1.5px dashed var(--cream-dark);border-radius:var(--radius);cursor:pointer;font-size:var(--text-2xs);color:var(--gray-500);transition:border-color .15s,color .15s;flex-shrink:0}.gift-image-upload-btn:hover{border-color:var(--accent-color);color:var(--accent-ink)}.gift-image-upload-btn .mat-icon{font-size:var(--icon-md)}.gift-body-section{display:flex;flex-direction:column;gap:.3rem}.gift-section-label{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);margin:0}.gift-desc{font-size:var(--text-sm);color:var(--gray-600);line-height:1.6}.gift-desc p{margin:0 0 .4rem}.gift-desc p:last-child{margin-bottom:0}.gift-desc b,.gift-desc strong{font-weight:700;color:var(--gray-800)}.gift-desc i,.gift-desc em{font-style:italic}.gift-desc u{text-decoration:underline}.gift-desc a{color:var(--plum-700);text-decoration:underline;word-break:break-word}.gift-desc ul,.gift-desc ol{margin:.2rem 0 .4rem;padding-left:1.4rem}.gift-desc li{margin:.1rem 0}.gift-desc blockquote{margin:.3rem 0;padding:.15rem 0 .15rem .75rem;border-left:3px solid var(--plum-100);color:var(--gray-500);font-style:italic}.rt-field{border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);overflow:hidden;background:var(--white);transition:border-color .15s}.rt-field-loading{border:1.5px solid var(--cream-dark);border-radius:var(--radius-lg);background:var(--cream);min-height:6.5rem}.rt-field:focus-within{border-color:var(--plum-600)}.rt-toolbar{display:flex;gap:.15rem;padding:.3rem;background:var(--cream);border-bottom:1.5px solid var(--cream-dark)}.rt-tool{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius);cursor:pointer;color:var(--gray-600);font-size:var(--text-md);transition:background .12s,color .12s}.rt-tool:hover{background:var(--accent-hover-bg);color:var(--accent-ink)}.rt-tool .mat-icon{font-size:var(--icon-md)}.rt-tool.active{background:var(--accent-color);color:var(--accent-on)}.rt-tool.active:hover{background:var(--accent-color);filter:brightness(.92)}.rt-link-bar{display:flex;align-items:center;gap:.35rem;padding:.4rem;background:var(--accent-wash);border-bottom:1.5px solid var(--cream-dark)}.rt-link-input{flex:1;min-width:0;padding:.35rem .5rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);background:var(--white);color:var(--gray-800);outline:none}.rt-link-input:focus{border-color:var(--plum-600)}.rt-link-btn{flex-shrink:0;padding:.35rem .6rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);color:var(--gray-600);font-size:var(--text-xs);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:border-color .12s,color .12s,background .12s}.rt-link-btn:hover{border-color:var(--accent-color);color:var(--accent-ink)}.rt-link-apply{background:var(--accent-color);color:var(--accent-on);border-color:var(--accent-color)}.rt-link-apply:hover{background:var(--accent-color);filter:brightness(.92)}.rt-link-remove:hover{border-color:var(--gray-400);color:var(--gray-800)}.rt-content .tiptap{min-height:4.5rem;padding:.6rem .75rem;outline:none;cursor:text}.rt-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--gray-500);float:left;height:0;pointer-events:none}.gift-link{font-size:var(--text-sm);color:var(--plum-600);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:.35rem;padding:.25rem 0}.gift-link:hover{color:var(--accent-ink-strong)}.gift-link:hover .link-arrow{transform:translate(1px,-1px)}.og-favicon{width:14px;height:14px;border-radius:var(--radius-xs);flex-shrink:0}.link-globe{font-size:var(--icon-sm);line-height:1}.link-arrow{font-size:var(--icon-sm);color:var(--gray-500);transition:transform .15s}.gift-secret{display:flex;align-items:center;gap:.4rem;font-size:var(--text-xs);color:var(--gray-500);font-style:italic;padding:.35rem .6rem;background:var(--amber-light);border-radius:var(--radius-sm)}.gift-secret .mat-icon{font-size:var(--icon-sm);flex-shrink:0}.gift-actions{display:flex;gap:.5rem;padding-top:.25rem;flex-wrap:wrap;align-items:center}.gift-occasions-detail{display:flex;flex-wrap:wrap;gap:.4rem}.edit-form{display:flex;flex-direction:column;gap:.75rem}.edit-form .form-group input,.edit-form .form-group textarea{font-size:var(--text-sm);padding:.5rem .7rem}.edit-actions{display:flex;gap:.5rem}.comments-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--cream-dark)}.comments-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--plum-800);margin-bottom:.5rem}.comments-empty{font-size:var(--text-xs);color:var(--gray-500);margin-bottom:.5rem}.comment{display:flex;align-items:flex-start;gap:.55rem;padding:.5rem .65rem;margin-bottom:.35rem;border-radius:var(--radius);background:var(--cream)}.comment.comment-mine{background:var(--accent-wash)}.comment-avatar{flex-shrink:0;margin-top:.1rem}.comment-body{min-width:0;flex:1}.comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.15rem;flex-wrap:wrap}.comment-author{font-size:var(--text-xs);font-weight:600;color:var(--plum-800)}.comment-time{font-size:var(--text-2xs);color:var(--gray-500)}.comment-secret-tag{display:inline-flex;align-items:center;gap:.2rem;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .35rem;border-radius:var(--radius-sm);background:var(--amber-light);color:var(--amber)}.comment-secret-tag .mat-icon{font-size:var(--icon-sm)}.hf-root{display:flex;min-width:0}.hf-inner{position:relative;display:inline-flex;align-items:center;gap:.3rem;min-width:0;max-width:100%}.hf-content{display:inline-flex;align-items:center;gap:.3rem;min-width:0;white-space:nowrap;overflow:hidden}.hf-person{display:inline-flex;align-items:center;gap:3px;flex:none}.hf-name{font-weight:600}.hf-suffix{overflow:hidden;text-overflow:ellipsis;padding-inline-end:.15em}.hf-ruler{position:absolute;left:0;top:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.hf-ruler>.hf-content{width:max-content;overflow:visible}.hf-inner .tk-stack-av{box-shadow:0 0 0 1.5px var(--hf-ring, var(--white))}.comment-header .hf-root{flex:1 1 0;min-width:140px}.comment-secret-tag.hf-inner{text-transform:none;letter-spacing:0;font-size:var(--text-2xs);font-weight:500;--hf-ring: var(--amber-light)}.hidden-from-line{font-size:var(--text-2xs);color:var(--gray-500);--hf-ring: var(--amber-light)}.hidden-from-line .mat-icon{font-size:var(--icon-sm)}.hf-root.hidden-from-row{width:100%;margin-top:.3rem}.hf-root.gdm-hidden-occ{flex-basis:100%;margin-top:0}.hf-root.comment-vis-root{flex:1 1 0}.gift-secret{flex-direction:column;align-items:stretch;gap:0}.gift-secret .hidden-from-line{font-style:normal}.gift-secret-text{display:flex;align-items:center;gap:.4rem;margin:0}.comment-text{font-size:var(--text-sm);color:var(--gray-800);line-height:1.5}.comment-form{margin-top:.5rem}.comment-form textarea{width:100%;padding:.5rem .7rem;border:1.5px solid var(--cream-dark);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);background:var(--white);color:var(--gray-800);resize:vertical}.comment-form textarea:focus{outline:none;border-color:var(--plum-600);box-shadow:0 0 0 3px #6b44901f}.comment-form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:.4rem}.comment-visibility-toggle{display:flex;align-items:center;gap:.35rem;font-size:var(--text-xs);color:var(--gray-600);cursor:pointer;-webkit-user-select:none;user-select:none}.comment-visibility-toggle input{accent-color:var(--plum-600)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem 4rem;gap:.85rem;text-align:center}.empty-state-welcome{padding-top:4.5rem}.empty-illustration{display:block;margin-bottom:.3rem;animation:empty-illustration-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes empty-illustration-in{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.empty-icon{font-size:2.5rem;line-height:1}.empty-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--plum-900)}.empty-sub{font-size:var(--text-sm);color:var(--gray-600);max-width:22rem;line-height:1.5}@media(min-width:769px)and (max-width:1360px){.dashboard-layout{position:relative;overflow:hidden}.gift-detail-panel,.members-detail-panel,.new-gift-panel{position:absolute;top:0;right:0;bottom:0;width:clamp(460px,60vw,680px);min-width:0;max-width:none;z-index:var(--z-panel);border-left:1.5px solid var(--cream-dark);box-shadow:-6px 0 22px #1a33561f;animation:panel-slide-in-mobile .22s cubic-bezier(.4,0,.2,1)}.panel-backdrop{display:block;position:absolute;left:272px;right:0;top:0;bottom:0;z-index:var(--z-sticky-top);background:#1a33560f}.sidebar-collapsed~.panel-backdrop{left:64px}}@media(max-width:768px){.dashboard-layout{position:relative;overflow:hidden}.sidebar{position:absolute;top:0;bottom:0;left:0;z-index:var(--z-drawer)}.sidebar.sidebar-collapsed{display:none}.sidebar.sidebar-overlay-open{width:min(300px,85%);box-shadow:var(--shadow-pop);transition:none;animation:sidebar-drawer-in .22s cubic-bezier(.4,0,.2,1)}.sidebar-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer);background:var(--scrim)}.main-content{padding:0 1rem 1rem;overflow-x:clip}.content-stick{margin:0 -1rem;padding:0 1rem}.gift-detail-panel,.members-detail-panel,.new-gift-panel{position:absolute;top:0;right:0;bottom:0;width:100%;z-index:var(--z-panel);animation:panel-slide-in-mobile .22s cubic-bezier(.4,0,.2,1)}.form-row{flex-direction:column}.topbar{padding:.7rem 1rem}.profile-name{display:none}.og-image{width:72px;height:72px}.members-toggle-btn{min-width:0;width:40px;padding:0}.members-toggle-text{display:none}}@media(max-width:768px){html,body{height:auto;overflow:visible}#root{height:auto;min-height:100%}.dashboard{--topbar-h: 56px;height:auto;min-height:100dvh;overflow:visible}.topbar{position:sticky;top:0;z-index:var(--z-sticky);height:var(--topbar-h);padding-top:0;padding-bottom:0}.dashboard-layout{overflow:visible;overflow-x:clip}.main-content{overflow-y:visible;min-width:0}.content-stick{top:calc(var(--topbar-h) - var(--stick-collapse))}.add-gift-bar,.selection-sticky{top:calc(var(--topbar-h) + var(--stick-compact-h) + .5rem)}.sidebar,.sidebar-backdrop,.gift-detail-panel,.members-detail-panel,.new-gift-panel{position:fixed;top:var(--topbar-h);bottom:0}.sidebar-backdrop{left:0;right:0}.gift-detail-switch,.new-gift-scroll,.members-detail-scroll,.sidebar-scroll{overscroll-behavior:contain}html.page-covered,html.page-covered body{overflow:hidden}}@media(pointer:coarse){input:not([type=checkbox]):not([type=radio]),textarea,select,.rt-content .tiptap{font-size:var(--text-md)!important}}@keyframes sidebar-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes panel-slide-in-mobile{0%{transform:translate(100%)}to{transform:translate(0)}}.topbar-onlookers{box-shadow:inset 0 -3px 0 var(--look-strong)}.onlookers-chip{display:flex;align-items:center;height:36px;border-radius:var(--radius-pill);background:var(--look-wash);border:1px solid var(--look-border);color:var(--look-ink)}.onlookers-chip-open{display:flex;align-items:center;gap:.45rem;height:100%;padding:0 .5rem 0 .6rem;background:none;border:none;color:inherit;cursor:pointer;font:600 var(--text-xs) var(--font-body);border-radius:var(--radius-pill)}.onlookers-chip-eye{font-size:var(--icon-md);color:var(--look-strong)}.topbar-right{flex:1;min-width:0;justify-content:flex-end}.topbar .logo-small,.topbar-right>.profile-section{flex:none}.onlookers-chip-slot{flex:1;min-width:0;margin-left:1.5rem;display:flex;justify-content:flex-end}.onlookers-chip{flex:none}.onlookers-chip-open{position:relative}.onlookers-chip.is-eye-only .onlookers-chip-open{width:34px;padding:0;justify-content:center}.onlookers-chip-people{display:flex;align-items:center}.onlookers-chip-person{display:inline-flex;align-items:center;gap:4px;flex:none}.onlookers-chip-person+.onlookers-chip-person{margin-left:6px}.onlookers-chip-name{display:inline-block;white-space:nowrap;max-width:8rem;overflow:hidden;text-overflow:ellipsis}.onlookers-chip-stack{position:relative;display:flex;border-radius:50%}.onlookers-chip-people.is-stacked .onlookers-chip-person+.onlookers-chip-person{margin-left:-7px}.onlookers-chip-people.is-stacked .onlookers-chip-stack{box-shadow:0 0 0 2px var(--look-wash)}.onlookers-chip-measure{position:absolute;left:0;top:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none;display:flex;white-space:nowrap}.onlookers-chip-measure>*{flex:none}.avatar.onlookers-chip-av{width:24px;height:24px;font-size:.6rem}.chip-badge.onlookers-chip-badge{position:absolute;top:-6px;right:-9px;z-index:1;background:var(--look-strong);color:var(--white);border-color:var(--look-wash)}.onlookers-chip-stack:has(.onlookers-chip-badge){margin-right:.45rem}.onlookers-chip-clear{display:flex;align-items:center;justify-content:center;width:32px;height:100%;background:none;border:none;border-left:1px solid var(--look-border);color:inherit;cursor:pointer;border-radius:0 var(--radius-pill) var(--radius-pill) 0}.onlookers-chip-clear .mat-icon{font-size:var(--icon-sm)}.onlookers-chip-open:hover,.onlookers-chip-clear:hover{background:color-mix(in srgb,var(--look-strong) 12%,transparent)}.profile-action-value{margin-left:auto;min-width:0;max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--gray-500)}.profile-action-value.is-set{color:var(--look-ink);font-weight:600}.profile-action-value+.profile-action-chev{margin-left:.15rem}.onlookers-picker{display:flex;flex-direction:column;gap:.5rem;padding:.35rem .4rem .5rem}.onlookers-picker-head{display:flex;align-items:flex-start;gap:.5rem}.onlookers-picker-explain{flex:1;font-size:var(--text-xs);line-height:1.4;color:var(--gray-600)}.onlookers-picker-clear{background:none;border:none;cursor:pointer;font:600 var(--text-xs) var(--font-body);color:var(--gray-600);padding:.15rem .3rem;border-radius:var(--radius-sm)}.onlookers-picker-clear:hover{color:var(--look-ink);background:var(--look-wash)}.onlookers-picker-field{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;padding:.3rem .4rem;min-height:38px;border-radius:var(--radius);border:1.5px solid var(--look-border);background:var(--cream)}.onlookers-picker-field:focus-within{border-color:var(--look-strong)}.onlookers-picker-field input{flex:1;min-width:6rem;border:none;outline:none;background:none;font:var(--text-sm) var(--font-body);color:var(--gray-800);padding:.2rem .1rem}.onlookers-picker-chip{display:inline-flex;align-items:center;gap:.3rem;height:26px;padding:0 .15rem 0 .2rem;border-radius:var(--radius-pill);background:var(--look-wash);color:var(--look-ink);font-size:var(--text-xs);font-weight:600}.onlookers-picker-chip .avatar{width:20px;height:20px;font-size:.55rem}.onlookers-picker-chip button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:none;color:inherit;cursor:pointer}.onlookers-picker-chip button:hover{background:color-mix(in srgb,var(--look-strong) 15%,transparent)}.onlookers-picker-chip .mat-icon{font-size:var(--icon-sm)}.onlookers-picker-list{display:flex;flex-direction:column;max-height:280px;overflow-y:auto;margin:0 -.4rem}.onlookers-picker .mpt-row{padding:0 .4rem;border-radius:var(--radius-sm)}.onlookers-picker .mpt-row:hover{background:var(--look-wash)}.onlookers-picker .mpt-row-recip{background:none}.onlookers-picker .avatar.mpt-mark{background:var(--look-strong)}.onlookers-picker .mpt-av-btn:hover .avatar,.onlookers-picker .mpt-av-btn:focus-visible .avatar{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--look-strong)}.onlookers-picker .mpt-name-btn:hover .mpt-name,.onlookers-picker .mpt-name-btn:focus-visible .mpt-name{color:var(--look-ink)}.onlookers-picker .mpt-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.onlookers-picker-empty{padding:.8rem .4rem;font-size:var(--text-xs);color:var(--gray-500);text-align:center}.onlookers-picker-session{display:flex;align-items:center;gap:.35rem;padding-top:.45rem;border-top:1px solid var(--cream-dark);font-size:var(--text-2xs);color:var(--gray-500)}.onlookers-picker-session .mat-icon{font-size:var(--icon-sm)}.onlooker-tag{display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0;padding:.05rem .4rem;border-radius:var(--radius-sm);background:var(--look-wash);color:var(--look-ink);font-size:var(--text-2xs);font-weight:600;line-height:1.5}.onlooker-tag .mat-icon{font-size:var(--icon-sm)}.mpt-sub .onlooker-tag{margin-top:.1rem}.recipient-item.after-onlookers{margin-top:.4rem;position:relative}.recipient-item.after-onlookers:before{content:"";position:absolute;top:-.25rem;left:.6rem;right:.6rem;height:1px;background:var(--cream-dark)}.onlookers-hidden-note{display:flex;align-items:flex-start;gap:.35rem;margin-top:.45rem;padding:0 .15rem;font-size:var(--text-xs);line-height:1.4;color:var(--gray-600)}.onlookers-hidden-note .mat-icon{font-size:var(--icon-sm);line-height:1.3;color:var(--look-strong)}.empty-state-onlookers{padding-top:4.5rem}.onlookers-empty-icon{width:64px;height:64px;border-radius:50%;background:var(--look-wash);color:var(--look-strong);display:flex;align-items:center;justify-content:center}.onlookers-empty-icon .mat-icon{font-size:2rem}.toast-info{background:#1f1e3d;color:#dddbff}.toast-action{background:none;border:1px solid currentColor;color:inherit;border-radius:var(--radius-sm);padding:.2rem .6rem;font:600 var(--text-xs) var(--font-body);cursor:pointer;flex-shrink:0;white-space:nowrap}.toast-action:hover{background:color-mix(in srgb,currentColor 15%,transparent)}@media(max-width:768px){.onlookers-chip{height:40px}.onlookers-chip-open{padding:0 .55rem}.onlookers-chip.is-eye-only .onlookers-chip-open{width:38px;padding:0}}.mpt-trigger.has-pills{padding:.3rem .5rem .3rem .35rem}.mpt-trigger.has-pills .mpt-trigger-text{display:flex;flex-wrap:wrap;gap:.3rem;white-space:normal}.mpt-arrow-btn{display:flex;flex-shrink:0;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:inherit;cursor:pointer}.mpt-arrow-btn:focus-visible{outline:none}.mpt-trigger:has(.mpt-arrow-btn:focus-visible){border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-light)}.mpt-chip{display:inline-flex;align-items:center;gap:.3rem;min-width:0;max-width:100%;height:26px;padding:0 .15rem 0 .2rem;border-radius:var(--radius-pill);background:var(--accent-hover-bg-strong);color:var(--accent-ink-strong);font-size:var(--text-xs);font-weight:600}.avatar.mpt-chip-av{width:20px;height:20px;font-size:.55rem}.mpt-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mpt-chip-x{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:none;color:inherit;cursor:pointer}.mpt-chip-x:hover{background:color-mix(in srgb,currentColor 15%,transparent)}.mpt-chip-x .mat-icon{font-size:var(--icon-sm)}.mat-icon.mpt-linked{flex:none;font-size:var(--icon-sm)}.mpt-linked-sub{display:inline-flex;align-items:center;gap:.2rem}.occasion-list .occasion-item{font-size:var(--text-sm);padding:.45rem .55rem}.avatar.recipient-item-avatar{width:26px;height:26px;font-size:.66rem}.recipient-item{gap:.6rem}.occasion-item.occasion-category .occasion-category-icon{width:26px;text-align:center}.occasion-list .occasion-date{font-size:var(--text-2xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.bell-wrap{position:relative;flex:none}.bell-btn{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius);background:none;color:inherit;cursor:pointer;transition:background .15s}.bell-btn:hover,.bell-btn.is-open{background:#ffffff1f}.bell-btn .mat-icon{font-size:var(--icon-lg)}.bell-badge{position:absolute;top:-2px;right:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-pill);background:var(--coral);color:#fff;font-size:var(--text-2xs);font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--plum-900)}[data-theme=dark] .bell-badge{color:var(--cream)}.bell-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-popover);width:370px;max-width:calc(100vw - 24px);background:var(--white);color:var(--gray-800);border:1px solid var(--cream-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);overflow:hidden}.bell-popover-head{padding:.75rem 1rem;font-size:var(--text-sm);font-weight:700;border-bottom:1px solid var(--cream-dark)}.bell-popover .bell-list{max-height:min(70vh,560px);overflow-y:auto}.bell-screen{position:fixed;top:var(--topbar-h, 56px);left:0;right:0;bottom:0;z-index:var(--z-sheet);animation:panel-slide-in-mobile .22s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;background:var(--white);color:var(--gray-800)}.bell-screen-head{height:var(--appbar-h);flex:none;display:flex;align-items:center;gap:.25rem;padding:0 1rem 0 .25rem;border-bottom:1px solid var(--cream-dark)}.bell-back{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--gray-600);border-radius:var(--radius);cursor:pointer}.bell-back .mat-icon{font-size:var(--icon-lg)}.bell-screen-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.bell-screen .bell-list{flex:1;overflow-y:auto}.bell-list{list-style:none;margin:0;padding:0}.bell-row+.bell-row{border-top:1px solid var(--cream-dark)}.bell-row-btn{width:100%;display:flex;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;background:none;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer}button.bell-row-btn:hover{background:var(--accent-hover-bg)}.bell-row.is-deleted .bell-row-btn{cursor:default}.bell-screen .bell-row-btn{padding:.9rem 1rem}.bell-dot{width:7px;height:7px;margin-top:13px;flex:none;border-radius:50%;background:transparent}.bell-dot.is-unread{background:var(--coral)}.bell-icon{width:32px;height:32px;flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--cream);color:var(--gray-600)}.bell-icon .mat-icon{font-size:var(--icon-sm)}.bell-icon.is-deleted{background:transparent;border:1px dashed var(--cream-dark)}.bell-text{flex:1;min-width:0;display:flex;flex-direction:column}.bell-title-row{display:flex;align-items:center;gap:.4rem;min-width:0}.bell-title{font-size:var(--text-sm);font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bell-row.is-deleted .bell-title{color:var(--gray-600)}.bell-tag{flex:none;padding:0 .4rem;border:1px solid var(--cream-dark);border-radius:var(--radius-sm);font-size:var(--text-2xs);font-weight:600;color:var(--gray-600)}.bell-sub{margin-top:2px;font-size:var(--text-xs);line-height:1.4;color:var(--gray-600)}.bell-meta{margin-top:3px;font-size:var(--text-2xs);color:var(--gray-500)}.bell-empty{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;font-size:var(--text-sm);color:var(--gray-600)}.bell-empty .mat-icon{font-size:var(--icon-md)}.lc-cards{container-type:inline-size;display:flex;flex-direction:column;gap:.9rem;margin:0 0 1.25rem}.lc-card{background:color-mix(in srgb,var(--coral-light) 28%,var(--white));border:1px solid color-mix(in srgb,var(--coral) 22%,var(--cream-dark));border-radius:var(--radius-lg);padding:14px 14px 14px 16px;display:flex;flex-direction:column;gap:12px}.lc-card-head{display:flex;align-items:flex-start;gap:12px}.lc-card-icon{width:32px;height:32px;flex:none;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--coral) 14%,transparent);color:var(--coral-hover)}.lc-card-icon .mat-icon{font-size:19px}.lc-card-heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lc-card-title{font-family:var(--font-display);font-size:17px;font-weight:600;line-height:1.3;color:var(--gray-800)}.lc-card-intro{max-width:620px;font-size:var(--text-xs);line-height:1.5;color:var(--gray-600);text-wrap:pretty}.lc-card-tools{flex:none;display:flex;align-items:center;gap:.25rem;margin:-4px -4px 0 0}.lc-card-close{width:36px;height:36px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--gray-600);border-radius:var(--radius);cursor:pointer}.lc-card-close:hover{background:var(--accent-hover-bg)}.lc-card-close .mat-icon{font-size:var(--icon-md)}.lc-rows{list-style:none;margin:0;padding:0;overflow:hidden;background:var(--white);border:1px solid var(--cream-dark);border-radius:12px}.lc-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 14px}.lc-row+.lc-row{border-top:1px solid var(--cream-dark)}.lc-row-gift{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:3px}.lc-row-title{font-size:var(--text-sm);font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--text-xs);line-height:1.4;color:var(--gray-600)}.lc-row-meta .tk-people{flex-wrap:wrap;row-gap:4px;white-space:normal}.lc-row-meta .tk-person-name{color:var(--gray-800)}.lc-meta-with{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px}.lc-meta-person{display:inline-flex;align-items:center;gap:5px;color:var(--gray-800)}.lc-row-meta .avatar{width:18px;height:18px;font-size:.55rem}.lc-meta-item{display:inline-flex;align-items:center;gap:4px}.lc-row-meta .mat-icon{font-size:15px;flex:none}.lc-row-meta span.mat-icon{font-size:16px}.lc-row-actions{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.lc-row-actions .lc-main{order:-1}.lc-btn{height:36px;padding:0 .9rem;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius)}.lc-btn.btn-ghost{color:var(--gray-800)}.lc-btn .mat-icon{font-size:var(--icon-sm)}.lc-btn:disabled{opacity:.6;cursor:default}.lc-done{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-xs)}.lc-done-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:var(--radius-sm);background:var(--chip-given-bg);color:var(--chip-given-fg);font-weight:600}.lc-done-chip .mat-icon{font-size:var(--icon-sm)}.lc-link{height:36px;border:none;background:none;padding:0 .5rem;color:var(--coral-hover);font:700 var(--text-xs) var(--font-body);cursor:pointer}.lc-card-foot{display:flex;justify-content:flex-end}.lc-card .lc-btn.btn-ghost{background:var(--white)}.lc-rows .lc-btn.btn-ghost{background:transparent}.lc-card .lc-btn.btn-ghost:hover{background:var(--accent-hover-bg)}.lc-all-head{display:none}@container (min-width: 760px){.lc-row{flex-wrap:nowrap;min-height:60px;padding:10px 12px 10px 16px}.lc-row-actions{flex:none}.lc-row-actions .lc-main{order:0}.lc-all-head{display:inline-flex;margin-right:.25rem}.lc-all-foot{display:none}}.edit-hint{display:flex;align-items:flex-start;gap:.45rem;margin-top:.5rem;padding:.5rem .65rem;border-radius:var(--radius-sm);background:var(--amber-light);color:var(--gray-800);font-size:var(--text-xs);line-height:1.45}.edit-hint>.mat-icon{flex:none;margin-top:.15rem;font-size:var(--icon-sm);color:var(--amber)}.edit-hint-link{border:none;background:none;padding:0;font:inherit;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.btn-danger-quiet,.gift-detail-header-icons .gift-detail-icon-btn.btn-danger-quiet:not(.gift-detail-icon-btn-plain){color:var(--danger-text)}.btn-danger-quiet:hover:not(:disabled),.gift-detail-header-icons .gift-detail-icon-btn.btn-danger-quiet:not(.gift-detail-icon-btn-plain):hover:not(:disabled){background:var(--danger-wash);color:var(--danger-text);border-color:var(--cream-dark)}@media(max-width:768px){.new-gift-header,.members-detail-header,.gift-detail-header-icons.is-appbar{height:var(--appbar-h);padding:0 .5rem 0 .25rem;gap:.25rem;justify-content:flex-start;border-bottom:1px solid var(--cream-dark)}.gift-detail-header-icons.is-appbar{margin-bottom:.5rem}.new-gift-title,.members-detail-title,.appbar-title{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--plum-900)}.new-gift-header .claim-split-primary,.appbar-save{padding:.5rem .9rem;font-size:var(--text-sm);white-space:nowrap}.new-gift-header .claim-split-btn{flex:none}.form-end-toggle{display:flex;padding:.25rem 0 .5rem}.form-end-toggle .others-edit-toggle{margin:0}}.appbar-btn{width:var(--hit);height:var(--hit);flex:none;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:none;color:var(--gray-600);cursor:pointer}.appbar-btn .mat-icon{font-size:var(--icon-lg)}.appbar-btn:hover,.appbar-btn:active{background:var(--accent-hover-bg)}.plan-overlay{z-index:var(--z-sheet)}.plan-sheet{padding-top:0}.sheet-grab{position:sticky;top:0;z-index:1;padding-top:1.25rem;background:var(--white)}.sheet-head{display:flex;align-items:flex-start;gap:.5rem;padding:0 1.25rem}.sheet-head-text{flex:1;min-width:0;display:flex;flex-direction:column}.sheet-head .plan-title,.sheet-head .plan-eyebrow{padding:0}.sheet-close{margin:-.6rem -.75rem -.6rem 0}.changelog-sheet{max-width:500px;max-height:72vh;overflow:hidden;padding:0}.changelog-sheet .sheet-grab{padding:1.35rem 0 1.1rem;border-bottom:1px solid var(--cream-dark);flex:none}.changelog-sheet .sheet-head{padding:0 1.25rem 0 1.5rem}.changelog-sheet .changelog-body{flex:1;min-height:0}@media(max-width:768px){.sheet-grab{padding-top:.6rem;touch-action:none;cursor:grab}.sheet-head{align-items:center}.plan-sheet{animation:sheet-rise .24s ease-out;transition:transform .2s ease-out}.plan-sheet.is-dragging{animation:none;transition:none;cursor:grabbing}.plan-sheet.is-closing{animation:none;transition:none}.plan-overlay{transition:background-color .18s,backdrop-filter .18s}.plan-overlay.is-closing{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.changelog-sheet{max-width:none;max-height:90dvh;padding-bottom:0}.changelog-sheet .sheet-grab{padding:.6rem 0}.changelog-sheet .sheet-head{padding:0 .5rem 0 1.25rem}.changelog-sheet .sheet-close{margin:0}.changelog-sheet .changelog-body{padding-bottom:calc(1.75rem + env(safe-area-inset-bottom))}.confirm-actions{flex-direction:column}.confirm-actions>button{width:100%;padding:.75rem}}@keyframes sheet-rise{0%{transform:translateY(100%)}}@keyframes sheet-fade{0%{opacity:0}}@media(max-width:768px)and (prefers-reduced-motion:reduce){.plan-sheet{animation:sheet-fade .12s;transition:none}}.action-sheet .sheet-grab{padding-bottom:.4rem}.sheet-subtitle{margin:.1rem 0 0;padding:0}.action-sheet-items{display:flex;flex-direction:column;padding:0 .5rem}.action-sheet-items+.action-sheet-items.is-danger{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--cream-dark)}.action-sheet-item{display:flex;align-items:center;gap:.85rem;min-height:52px;padding:.35rem .75rem;border:none;border-radius:var(--radius);background:none;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:var(--text-md);font-weight:500;color:var(--gray-800)}.action-sheet-item:active:not(:disabled){background:var(--accent-hover-bg)}@media(hover:hover){.action-sheet-item:hover:not(:disabled){background:var(--accent-hover-bg)}}.action-sheet-item:disabled{cursor:default;color:var(--gray-500)}.action-sheet-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--icon-lg);color:var(--gray-600)}.action-sheet-icon :is(.icon-svg,.mat-icon){font-size:var(--icon-lg)}.action-sheet-item:disabled .action-sheet-icon{color:inherit}.action-sheet-text{flex:1;min-width:0;display:flex;flex-direction:column}.action-sheet-desc{font-size:var(--text-xs);font-weight:400;line-height:1.35;color:var(--gray-600)}.action-sheet-meta{flex:none;font-size:var(--text-sm);color:var(--gray-600);font-variant-numeric:tabular-nums}.action-sheet-check{flex:none;font-size:var(--icon-md);color:var(--accent-ink)}.action-sheet-item.is-checked .action-sheet-label{font-weight:700}.action-sheet-item.is-danger,.action-sheet-item.is-danger .action-sheet-icon{color:var(--danger-text)}.action-sheet-item.has-tone:not(:disabled) :is(.action-sheet-icon,.action-sheet-label){color:var(--vis-fg)}.action-sheet-item.has-tone.is-checked{background:var(--vis-bg)}.action-sheet-item.has-tone.is-checked .action-sheet-check{color:var(--vis-fg)}.sheet-history{display:flex;gap:.85rem;margin:.25rem 1.25rem .5rem;padding:.7rem .9rem;border-radius:var(--radius);background:var(--cream);font-size:var(--text-sm);line-height:1.45;color:var(--gray-600)}.sheet-history>.icon-svg{flex:none;font-size:var(--icon-md);margin-top:.1rem}.sheet-history p{margin:0}.profile-sheet .profile-prefs{margin:.25rem 1.25rem .5rem}.onlookers-sheet .onlookers-picker{padding:.25rem 1.25rem .5rem}.profile-screen{position:fixed;top:var(--topbar-h, 56px);left:0;right:0;bottom:0;z-index:var(--z-sheet);display:flex;flex-direction:column;background:var(--white);color:var(--gray-800);animation:panel-slide-in-mobile .22s cubic-bezier(.4,0,.2,1)}.profile-screen-head{height:var(--appbar-h);flex:none;display:flex;align-items:center;gap:.25rem;padding:0 .5rem 0 .25rem;border-bottom:1px solid var(--cream-dark)}.profile-screen-head .appbar-title{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--plum-900)}.profile-screen-head .appbar-save{padding:.5rem .9rem;font-size:var(--text-sm);white-space:nowrap}.profile-screen-body{flex:1;overflow-y:auto;padding:1rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom))}.profile-screen-body .profile-edit-fields{padding:0;border:none;background:none;box-shadow:none}
