@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{color-scheme:light;font-family:DM Sans,sans-serif;color:var(--text, #30392d);background:var(--page, #fbfcf9);font-synthesis:none;font-weight:400;--green: #3b5036;--muted: #8b9086;--border: #e7e9e1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid #617b50;outline-offset:3px}button{border:0;background:none}a{color:inherit;text-decoration:none}.app{min-height:100vh}.sidebar{width:240px;background:var(--surface-warm, #f4f5ee);border-right:1px solid var(--border);height:100dvh;position:fixed;display:flex;flex-direction:column;padding:35px 22px 20px}.brand{font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-1.5px;font-weight:800;display:flex;align-items:center;margin:0 10px 57px;gap:9px}.brand-mark{display:grid;place-items:center;width:37px;height:39px;color:#fff;background:var(--green);border-radius:11px;transform:rotate(-5deg)}.brand-mark svg{transform:rotate(5deg)}.brand-dot{color:var(--text-muted, #90a36f);margin-left:-9px}.workspace-label{font-size:9px;font-weight:700;letter-spacing:1.7px;color:var(--text-muted, #919584);margin:0 13px 17px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;margin-bottom:7px;border-radius:8px;font-size:13px;color:var(--text-muted, #727869)}.nav-item.active{background:var(--surface-muted, #e6ebdd);color:var(--text, #3e5335);font-weight:650}.nav-item small{margin-left:auto;font-size:10px;background:var(--surface, #f4f6ef);min-width:23px;text-align:center;padding:3px 5px;border-radius:5px}.sidebar-note{margin:auto 5px 33px;background:var(--surface-warm, #eceedf);padding:20px 18px;border-radius:10px;position:relative}.note-flower{font-size:43px;color:var(--text-muted, #81926c);margin:0 0 12px;line-height:1}.sidebar-note strong{font-family:Manrope;font-size:12px}.sidebar-note p{font-size:11px;line-height:1.85;color:var(--text-muted, #7c826f);margin:8px 0 18px}.sidebar-note>span{font-size:9px;color:var(--text-muted, #858d74)}.account{display:flex;align-items:center;gap:10px;text-align:left;border-top:1px solid var(--border, #e1e5d7);padding:21px 0 0}.account>span:nth-child(2){min-width:0;flex:1}.account strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis}.account small{font-size:9px;color:var(--text-muted, #8d9283);display:block;margin-top:5px}.avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;font-size:11px;font-weight:650}.green{background:var(--surface-muted, #e3e9d9);color:var(--text, #586647)}.rose{background:var(--surface-rose, #f3e0df);color:var(--text-rose, #9c6969)}.blue{background:var(--surface-blue, #dfe9ed);color:var(--text-blue, #647f91)}.orange{background:var(--surface-rose, #f5e5d4);color:var(--text-warm, #a97e57)}.purple{background:var(--surface-purple, #e8e0ef);color:var(--text-purple, #9275a4)}.avatar.small{width:31px;height:31px}.avatar.tiny{width:25px;height:25px;font-size:8px}.avatar.large{width:64px;height:64px;font-size:21px}.main-shell{margin-left:240px}.topbar{height:80px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 44px}.breadcrumb{font-size:11px;color:var(--text-muted, #94998d)}.breadcrumb span{margin:0 13px;color:var(--text-muted, #c2c7ba)}.breadcrumb b{font-weight:500;color:var(--text, #515b48)}.topbar-right{display:flex;align-items:center;gap:22px}.today{font-size:10px;color:var(--text-muted, #898e82)}main{max-width:1500px;margin:0 auto;padding:43px 44px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:33px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--text-muted, #8d967e);font-weight:650;display:flex;align-items:center;gap:7px;margin-bottom:13px}.eyebrow>span{width:5px;height:5px;border-radius:50%;background:#8ea175}h1{font-family:Manrope,sans-serif;letter-spacing:-1.15px;font-size:28px;line-height:1.35;font-weight:650;margin:0 0 10px}p{line-height:1.6}.page-heading p{font-size:11px;color:var(--text-muted, #8a9081);margin:0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:7px;font-size:11px;font-weight:550;padding:12px 16px;white-space:nowrap;min-height:44px;line-height:1.25;vertical-align:middle;border:1px solid transparent}.primary{background:var(--green);color:#fff;box-shadow:0 2px 3px #30442a10}.primary:hover:not(:disabled){background:#4e6547}.secondary{border:1px solid var(--border);background:var(--surface, #fff)}.secondary:hover:not(:disabled){background:var(--surface-muted, #f1f3eb)}.stats{display:grid;grid-template-columns:1.15fr 1fr 1.2fr;border:1px solid var(--border);border-radius:10px;background:var(--surface, white);padding:23px 0;margin-bottom:30px}.stats>div{display:flex;align-items:center;gap:14px;padding:0 24px;border-right:1px solid var(--border)}.stats>div:last-child{border:0}.stat-icon{width:43px;height:43px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.yellow{background:var(--surface-warm, #f7edcf);color:var(--text-warm, #9c8c51)}.stats strong{font-family:Manrope;font-size:23px;line-height:1;display:block;font-weight:650}.stats div div>span{font-size:10px;color:var(--text-muted, #858b7b);display:block;margin-top:7px}.stat-caption{display:none!important}.upcoming{margin:0 0 35px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-label>span{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:650;color:var(--text-muted, #848d76);letter-spacing:1.3px}.section-label button{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--text-muted, #78856a)}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.event{display:flex;align-items:center;gap:12px;padding:16px 13px;border:1px solid var(--border, #e9eadd);border-radius:9px;background:var(--surface, #f6f7ef);text-align:left;min-width:0}.date-block{display:flex;flex-direction:column;align-items:center;justify-content:center;width:42px;height:49px;background:var(--surface, #fff);border:1px solid var(--border, #e6e8dc);border-radius:7px;flex-shrink:0}.date-block small{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted, #8c957e)}.date-block strong{font-size:19px;margin-top:1px;font-weight:550}.event-info{min-width:0}.event-info>strong{font-size:11px;font-weight:550;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-info small{font-size:9px;color:var(--text-muted, #969b8d);display:block;margin-top:6px}.event-info small span{padding:0 3px}.days{margin-left:auto;white-space:nowrap;font-size:8px;border-radius:4px;background:var(--surface-muted, #ecefe4);padding:5px 6px;color:var(--text-muted, #8a937a)}.days.soon{background:var(--surface-warm, #f5ead4);color:var(--text-warm, #a38959)}.empty-event{grid-column:1/-1;color:var(--text-muted, #8a957b);justify-content:center;font-size:12px}.list-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 19px}h2{font-family:Manrope;font-size:18px;font-weight:650;letter-spacing:-.5px;margin:0}.list-heading h2{display:flex;align-items:center;gap:9px}.list-heading h2 span{font-family:DM Sans;font-size:10px;background:var(--surface-muted, #eef0e7);padding:4px 7px;border-radius:5px;color:var(--text-muted, #8f9882);font-weight:400;letter-spacing:0}.subtle{font-size:10px;color:var(--text-muted, #969c8e)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:23px}.tabs{display:flex;gap:3px;background:var(--surface-muted, #f0f2e9);padding:4px;border-radius:7px}.tabs button{font-size:10px;padding:7px 12px;border-radius:5px;color:var(--text-muted, #8b927f);white-space:nowrap}.tabs .selected{color:var(--text, #4f5d43);background:var(--surface, #fff);box-shadow:0 1px 4px #2631210b}.filter-tools{display:flex;gap:9px}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface, #fff);border-radius:7px;padding:9px 11px;color:var(--text-muted, #99a08f);margin:0;font-weight:400}.search input{border:0;outline:none;background:none;width:130px;padding:0;font-size:10px;color:var(--text, #4d5843);min-height:18px}.search input::placeholder{color:var(--text-muted, #a0a698)}.search:focus-within{outline:2px solid #91aa76}.person-filter{display:flex;align-items:center;border:1px solid var(--border);border-radius:7px;padding:0 10px;gap:7px;font-size:10px;color:var(--text-muted, #858e79);margin:0}.person-filter select{border:0;padding:8px 0;background:none;width:75px;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:10px;min-height:0}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.gift-card{border:1px solid var(--border);border-radius:11px;overflow:hidden;background:var(--surface, #fff);transition:transform .2s,box-shadow .2s}.gift-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #36482b09}.gift-art{height:180px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #879875);background:var(--surface-muted, #e9eee0)}.art-1{background:var(--surface-rose, #e9e1d6);color:var(--text-warm, #9b7a59)}.art-2{background:var(--surface-warm, #ece8d7);color:var(--text-warm, #92905d)}.art-3{background:var(--surface-rose, #f0e0d3);color:var(--text-warm, #b58b6b)}.art-4{background:var(--surface-muted, #e3e8df);color:var(--text-muted, #849278)}.art-5{background:var(--surface-purple, #e6e1ee);color:var(--text-muted, #9283a3)}.product-icon{width:83px;height:83px;position:relative;filter:drop-shadow(0 9px 4px #586a4520);transform:rotate(-8deg)}.art-1 .product-icon{transform:rotate(9deg)}.art-2 .product-icon{transform:rotate(-12deg)}.art-orbit{position:absolute;width:165px;height:165px;border:1px solid var(--border, #ffffff65);border-radius:50%;transform:rotate(-30deg)}.orbit-two{width:230px;height:110px}.art-caption{position:absolute;bottom:15px;font-size:8px;text-transform:uppercase;letter-spacing:2.2px;opacity:.75}.favorite{position:absolute;right:12px;top:12px;width:30px;height:30px;background:var(--surface-overlay, #ffffffbb);border:1px solid var(--border, #ffffff55);border-radius:50%;display:grid;place-items:center;color:var(--text-muted, #8c9584)}.favorite.is-favorite{color:var(--text-muted, #748467)}.gift-status{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:4px;font-size:8px;padding:5px 7px;border-radius:5px;background:var(--surface-overlay, #ffffffe0);color:var(--text-muted, #70815a)}.gift-body{padding:18px 18px 0}.gift-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.gift-meta>span{font-size:8px;background:var(--surface-warm, #f4f4ed);padding:4px 7px;border-radius:4px;color:var(--text-muted, #92967f)}.gift-meta strong{font-size:11px;font-weight:550;color:var(--text, #657255)}.gift-title{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;width:100%;padding:0;font-family:Manrope;font-size:13px;font-weight:650;letter-spacing:-.25px}.gift-title svg{flex-shrink:0;color:var(--text-muted, #9da68e)}.gift-body>p{font-size:10px;color:var(--text-muted, #9b9f94);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:8px 0 17px}.gift-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border, #eef0e9);padding:11px 0}.recipient{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--text-muted, #87917c);padding:0}.card-menu{color:var(--text-muted, #939a86);font-size:12px;letter-spacing:2px;min-width:30px;min-height:30px}.add-card{min-height:320px;border:1px dashed var(--border, #d9dfcc);border-radius:11px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--surface, #f8faf4);color:var(--text-muted, #8f9a80)}.add-card>span{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;background:var(--surface-muted, #edf1e5);margin-bottom:17px}.add-card strong{font-size:12px;font-weight:500;color:var(--text-muted, #748365)}.add-card p{font-size:10px;margin:8px 0 20px;color:var(--text-muted, #a0a892)}.add-card b{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:500;color:var(--text-muted, #82956d)}footer{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:var(--text-muted, #a8af9c);padding:34px 0}footer svg{color:var(--text-muted, #a8b593)}footer span{margin-left:5px}.empty{padding:30px;text-align:center;color:var(--text-muted, #8b987d)}.empty h2{margin:14px 0 8px}.empty p{font-size:12px}.empty .secondary{margin-top:6px}.wide{max-width:350px;margin-bottom:22px}.wide input{width:100%}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.person-card{position:relative;padding:27px;border:1px solid var(--border);border-radius:12px;background:var(--surface, #fff)}.person-card>.card-menu{position:absolute;top:15px;right:15px}.person-card h2{margin:17px 0 5px}.person-card p{font-size:12px;color:var(--text-muted, #87917b);min-height:40px}.birthday{display:flex;align-items:center;gap:7px;font-size:11px;margin:20px 0;color:var(--text-muted, #8d997f)}.person-card>.secondary{width:100%;margin-top:10px}.occasion-list{display:flex;flex-direction:column;gap:12px}.occasion-row{display:flex;align-items:center;gap:20px;background:var(--surface, #fff);border:1px solid var(--border);border-radius:10px;padding:20px}.occasion-row h3{font-size:14px;font-weight:550;margin:0}.occasion-row p{font-size:11px;color:var(--text-muted, #8b967e);margin:6px 0 0}.occasion-row .secondary{margin-left:auto}.occasion-row .days+.secondary{margin-left:0}.error{display:flex;align-items:center;justify-content:space-between;background:var(--surface, #fcf0eb);color:var(--text-rose, #a24f34);border:1px solid var(--border, #efd9ce);padding:12px 16px;font-size:12px;border-radius:7px;margin-bottom:16px}.toast{position:fixed;bottom:25px;left:calc(50% + 120px);transform:translate(-50%);display:flex;gap:10px;align-items:center;background:#3d5235;color:#fff;padding:14px 22px;border-radius:9px;box-shadow:0 6px 20px #24321826;font-size:12px;z-index:5;max-width:90vw}.dialog-content{border:1px solid var(--border, #e5e9db);border-radius:17px;padding:28px;width:480px;max-width:calc(100vw - 30px);max-height:90dvh;color:var(--text, #36432e);background:var(--surface, #fcfdf9);box-shadow:0 20px 90px #18271430}.dialog-overlay{background:var(--surface-overlay, #24301c55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.icon-button{width:44px;height:44px;flex-shrink:0;border-radius:10px;display:grid;place-items:center}.modal-description{font-size:12px;color:var(--text-muted, #969e8b);margin:8px 0 22px}label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:500;margin-bottom:15px}input,select,textarea{width:100%;padding:11px 12px;min-height:42px;border:1px solid var(--border, #dfe5d5);border-radius:6px;background:var(--surface, #fff);color:var(--text, #4b5840);font-size:13px}input:focus,select:focus,textarea:focus{outline:2px solid #a5b98d;outline-offset:1px}input::placeholder,textarea::placeholder{color:var(--text-muted, #a4ab9b)}textarea{resize:vertical;min-height:75px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row label{min-width:0}.form-actions{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--border);padding-top:20px;margin-top:22px}.delete{margin-right:auto;color:var(--text-rose, #b08173);min-width:40px}.checkbox{flex-direction:row;align-items:center;gap:10px}.checkbox input{width:18px;height:18px;min-height:18px;flex-shrink:0;padding:0;accent-color:#596f45}.product-link{font-size:11px;display:flex;align-items:center;gap:6px;margin:-5px 0 15px}.settings-info{padding:22px;border-radius:10px;background:var(--surface-muted, #f0f3e8);color:var(--text-muted, #7f906d)}.settings-info h3{font-size:16px;color:var(--text, #546847)}.settings-info p,.account-email{font-size:12px}.settings-info .secondary{margin-top:8px}@media(min-width:1550px){.stat-caption{display:block!important;font-size:9px;color:var(--text-muted, #a3ab97);margin-left:auto}.gift-art{height:215px}}@media(max-width:1200px){.sidebar{width:210px;padding-left:16px;padding-right:16px}.main-shell{margin-left:210px}main{padding:32px 28px 0}.topbar{padding:0 28px}h1{font-size:24px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-grid .event:nth-child(3){display:none}.gift-grid{gap:14px}.gift-body{padding:14px 13px 0}.gift-title{font-size:12px}.toolbar{flex-wrap:wrap}.gift-art{height:160px}.toast{left:calc(50% + 105px)}}@media(max-width:960px){.sidebar{width:180px;padding-left:12px;padding-right:12px}.main-shell{margin-left:180px}.brand{font-size:25px;margin-left:6px}.sidebar-note{padding:15px 12px}.page-heading{align-items:flex-start}.page-heading .primary{font-size:10px;padding:11px}.gift-grid,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>div{padding:0 12px;gap:9px}.stat-icon{width:35px;height:35px}.stats div div>span{font-size:9px}.page-heading p{max-width:360px}.page-heading h1{font-size:23px}.toast{left:calc(50% + 90px)}.list-heading .subtle{display:none}}@media(max-width:700px){.sidebar{width:100%;height:67px;bottom:0;left:0;z-index:4;padding:0 8px;padding-bottom:env(safe-area-inset-bottom);border:0;border-top:1px solid var(--border);background:var(--surface, #f6f8f0);box-sizing:content-box}.sidebar .brand,.workspace-label,.sidebar-note,.account{display:none}.sidebar nav{display:flex;justify-content:space-around;height:67px;align-items:center}.nav-item{flex-direction:column;gap:5px;padding:8px 13px;margin:0;width:auto;font-size:9px;min-width:64px}.nav-item small{display:none}.nav-item.active{background:transparent;color:var(--text, #3f5d32)}.nav-item.active svg{stroke-width:2.6}.main-shell{margin:0}.topbar{height:61px;padding:0 22px}.breadcrumb{font-size:10px}.today{font-size:9px}.topbar-right{gap:10px}main{padding:28px 20px 75px}.page-heading{flex-wrap:wrap;gap:18px;margin-bottom:24px}.eyebrow{font-size:8px;letter-spacing:1.5px}h1,.page-heading h1{font-size:25px;letter-spacing:-.9px;max-width:350px}.page-heading p{font-size:11px;max-width:350px;line-height:1.7}.page-heading .primary{min-height:43px;padding:12px 16px;font-size:11px}.stats{padding:18px 0;margin-bottom:25px}.stats>div{flex-direction:column;align-items:flex-start;padding:0 12px;gap:10px}.stats .stat-icon{width:32px;height:32px;border-radius:9px}.stats .stat-icon svg{width:18px}.stats strong{font-size:21px}.stats div div>span{font-size:8px;line-height:1.5;max-width:100px}.event-grid{grid-template-columns:1fr}.event-grid .event:nth-child(3){display:flex}.event{padding:13px 15px}.event-info strong{font-size:12px}.event-info small{font-size:10px}.days{font-size:9px}.section-label>span{font-size:8px}.section-label button{font-size:9px;min-height:35px}.upcoming{margin-bottom:29px}.list-heading h2{font-size:18px}.toolbar{gap:13px;padding-bottom:17px}.tabs{width:100%;justify-content:space-between}.tabs button{padding:10px 14px;font-size:11px}.filter-tools{width:100%}.search{flex:1;min-width:0;padding:10px}.search input{width:100%;font-size:12px}.person-filter{flex-shrink:0}.person-filter select{font-size:11px;width:80px}.gift-grid{gap:14px}.gift-art{height:155px}.gift-body{padding:13px 12px 0}.gift-title{font-size:12px;line-height:1.5;align-items:flex-start;min-height:36px}.gift-title svg{width:12px;margin-top:3px}.gift-meta>span{font-size:7px}.gift-meta strong{font-size:10px}.gift-body>p{font-size:9px}.recipient{font-size:8px;gap:5px}.avatar.tiny{width:22px;height:22px}.art-caption{font-size:6px;letter-spacing:1.4px}.product-icon{width:65px;height:65px}.favorite{width:32px;height:32px;top:9px;right:9px}.favorite svg{width:15px}.gift-status{font-size:7px;top:11px;left:8px;padding:4px}.add-card{min-height:300px;padding:15px;text-align:center}.add-card strong{font-size:11px}.add-card p{font-size:9px}.add-card b{font-size:10px}.toast{left:50%;bottom:90px;width:max-content;max-width:90vw}.people-grid{grid-template-columns:1fr}.person-card{padding:24px}.occasion-row{gap:12px;padding:14px;flex-wrap:wrap}.occasion-row h3{font-size:12px}.occasion-row p{font-size:9px}.occasion-row .days{font-size:8px}.occasion-row .secondary{padding:7px 12px;min-height:34px}.occasion-row>div{flex:1}.occasion-row .days+.secondary{margin-left:auto}footer{font-size:8px;flex-wrap:wrap;gap:5px;padding:30px 0}.dialog-content{padding:23px;border-radius:15px;max-height:88dvh}.dialog-content input,.dialog-content select,.dialog-content textarea{font-size:16px}.dialog-content h2{font-size:21px}.form-row{gap:10px}.form-actions{position:sticky;bottom:-23px;background:var(--surface, #fcfdf9);padding-bottom:10px}.gift-footer .card-menu{letter-spacing:1px;min-width:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(max-width:360px){.gift-grid{grid-template-columns:1fr}.gift-art{height:190px}.gift-title{min-height:0}.gift-body{padding:17px 18px 0}.gift-title{font-size:14px}.tabs button{padding:9px 10px}.today{display:none}}.auth-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:var(--surface-muted, #edf1e4);padding:60px max(40px,10vw);display:flex;flex-direction:column;align-items:flex-start}.auth-story .brand{margin:0 0 80px}.auth-story h1{font-size:48px;line-height:1.2;letter-spacing:-2px;margin:8px 0 20px}.auth-story>p{font-size:14px;line-height:1.9;color:var(--text-muted, #859276);max-width:350px}.auth-illustration{width:230px;height:230px;background:var(--surface-muted, #e2e9d6);border-radius:50%;display:grid;place-items:center;position:relative;margin:35px 0 50px;align-self:center}.auth-illustration>svg:first-child{width:120px;height:120px;color:var(--text-muted, #8d9e76);transform:rotate(-10deg)}.floating-heart{position:absolute;top:18px;right:6px;color:var(--text-rose, #c29d8e);width:40px;height:40px;transform:rotate(20deg)}.floating-sparkles{position:absolute;left:-16px;bottom:40px;color:var(--text-muted, #a5b18e);width:40px;height:40px}.auth-form{align-self:center;justify-self:center;width:100%;max-width:420px;padding:30px}.auth-form>h2{font-size:25px;margin:22px 0 10px;letter-spacing:-.8px}.auth-form>p{font-size:13px;color:var(--text-muted, #939d88);margin-bottom:30px}.auth-form input{font-size:16px;min-height:49px}.auth-form .primary{width:100%;min-height:47px;font-size:13px}.auth-fine{font-size:10px;text-align:center;color:var(--text-muted, #a0a895);margin:15px 0 30px}.auth-features{border-top:1px solid var(--border);padding-top:25px;display:flex;flex-direction:column;gap:15px;font-size:11px;color:var(--text-muted, #8a977d)}.auth-features>span{display:flex;align-items:center;gap:10px}.auth-notice{background:var(--surface-muted, #e7eedc);color:var(--text-muted, #677c51);padding:15px;font-size:12px;border-radius:8px;margin-bottom:20px}@media(max-width:700px){.auth-page{grid-template-columns:1fr}.auth-story{padding:30px 28px 24px}.auth-story .brand{margin-bottom:32px}.auth-story h1{font-size:34px}.auth-story>p{font-size:12px;max-width:310px}.auth-illustration,.auth-story>.subtle{display:none}.auth-form{padding:32px 28px 45px;max-width:450px}.auth-form>h2{font-size:23px}.auth-form>.stat-icon{display:none}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.dialog-content{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:11;overflow-y:auto}.search,.person-filter{flex-direction:row}.account strong{white-space:nowrap}.link-import{padding:0;margin-bottom:18px}.link-import input{font-size:12px}.link-import>label{margin-bottom:9px}.inline-error{font-size:11px;color:var(--text-rose, #a65e41);line-height:1.5}.import-preview{display:flex;gap:12px;padding-top:15px;margin-top:14px;border-top:1px solid var(--border, #dce4d1)}.import-preview img{width:65px;height:65px;object-fit:contain;border-radius:6px;background:var(--surface, #fff)}.import-preview strong{font-size:12px;display:block}.import-preview small{font-size:10px;display:block;color:var(--text-muted, #80916d);margin-top:5px}.import-preview p{font-size:10px;color:var(--text-muted, #89937d)}.import-preview .primary{font-size:10px;padding:9px 12px}.price-watch-panel{border:1px solid var(--border);background:var(--surface-muted, #f4f6ed);border-radius:9px;padding:14px;margin-top:18px}.price-watch-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.price-watch-heading strong{font-size:12px;display:flex;align-items:center;gap:7px}.price-watch-panel p{font-size:10px;color:var(--text-muted, #849273)}.price-history{list-style:none;margin:15px 0 0;padding:0}.price-history li{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border, #e2e8d7);font-size:10px}.price-history time{color:var(--text-muted, #879579);white-space:nowrap}.price-history span{text-align:right}.watch-summary{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:9px;color:var(--text-muted, #729356);margin-bottom:12px}.watch-summary b{font-weight:600}.watch-summary small{width:100%;color:var(--text-warm, #a08b65)}.gift-product-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:var(--surface, #f5f5f0);padding:15px}.favorite,.gift-status{z-index:1}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:700px){.link-import input{font-size:16px}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.suggestion-options{border:0;padding:0;margin:16px 0;min-width:0}.suggestion-option{border-bottom:1px solid var(--border, #e5e7eb);padding:12px 0}.suggestion-details{padding:8px 0 4px 8px}.suggestion-details .subtle{font-size:13px;line-height:1.5;margin:8px 0}.suggestion-people{border:0;padding:0;margin:12px 0 0;min-width:0}.suggestion-people legend{font-size:14px;margin-bottom:8px}.suggestion-people .checkbox{min-height:44px;overflow-wrap:anywhere}.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}.auth-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.password-recovery{width:440px;max-width:calc(100% - 32px);margin:64px auto}button svg,a svg{flex-shrink:0}button.primary,button.secondary,.page-heading .primary,.occasion-row .secondary,.auth-form .primary{min-height:44px;font-size:13px;line-height:1.3;padding:11px 16px;white-space:normal;text-align:center}.icon-button:hover:not(:disabled),.card-menu:hover:not(:disabled){background:var(--surface-muted, #edf1e7)}.account-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin-top:20px}.account-actions>button{flex:1 1 auto}.account-email{overflow-wrap:anywhere}.form-actions{align-items:stretch;flex-wrap:wrap;gap:12px}.form-actions .delete{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:8px}.form-actions .delete:hover:not(:disabled){background:var(--surface-rose, #faede9);color:var(--text-rose, #8c493d)}.dialog-content label,.password-recovery label,.auth-form label{font-size:13px;color:var(--text, #46513e)}.dialog-content h2{line-height:1.35}.modal-description,.auth-form>p,.auth-fine,.auth-features,.dialog-content .subtle,.dialog-content .account-email{color:var(--text-muted, #66715d);font-size:13px}input::placeholder,textarea::placeholder{color:var(--text-muted, #727d68)}.dialog-content .checkbox{min-height:44px;margin-bottom:10px;cursor:pointer}.topbar button.avatar,.favorite{width:44px;height:44px}.card-menu,.gift-footer .card-menu{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:8px;padding:0;letter-spacing:normal}.gift-title{min-height:44px;font-size:15px}.recipient{min-height:44px;font-size:12px;min-width:0;text-align:left}.gift-footer{gap:8px}.gift-body>p{font-size:13px;color:var(--text-muted, #687360)}.gift-meta strong{font-size:13px}.gift-meta>span{font-size:11px;color:var(--text, #5f6a53)}.tabs button{min-height:44px;font-size:12px;padding:10px 12px}.section-label button{min-height:44px;font-size:12px}.auth-options{display:grid;grid-template-columns:1fr;margin-bottom:24px}.password-recovery{padding:28px;background:var(--surface, #fff);border:1px solid var(--border);border-radius:16px}.price-watch-heading{flex-wrap:wrap;gap:12px}@media(max-width:600px){.gift-grid{grid-template-columns:minmax(0,1fr)}.gift-art{height:190px}.gift-body{padding:18px 18px 0}.gift-title{min-height:44px;font-size:15px}.account-actions{flex-direction:column}.account-actions>button{width:100%}.form-actions{gap:8px}.form-actions .primary,.form-actions .secondary{flex:1;min-width:0}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.tabs button{padding:10px 4px;font-size:11px}.section-label{flex-wrap:wrap;gap:8px}.filter-tools{flex-wrap:wrap}.search input,.person-filter select{font-size:16px}.person-filter select{width:108px}.search{flex-basis:140px}.auth-story{padding:24px 28px}.auth-story .brand{margin-bottom:20px}.auth-story h1{font-size:28px}.auth-story>p{display:none}.auth-form{padding-top:16px}}.family-page{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:20px;max-width:850px}.family-panel{padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface, #fff)}.family-panel h2{margin-top:0;font-size:20px}.family-panel h3{margin:0;font-size:16px}.family-panel p{color:var(--text-muted, #66715d);font-size:14px}.family-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.family-actions label{flex:1;margin-bottom:0}.family-actions h2{flex:1;margin:0}.family-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--border);overflow-wrap:anywhere}.family-row>div{min-width:0}.family-row button{flex-shrink:0}.family-invite-link{margin-top:16px}.invitation-panel{margin-bottom:24px;background:var(--surface-muted, #f0f5e8)}@media(max-width:700px){.sidebar .nav-item{min-width:0;flex:1;padding:8px 4px}.family-panel{padding:18px}.family-row{flex-wrap:wrap}.family-panel input,.family-panel select{font-size:16px}}.family-panel>.family-row{flex-wrap:wrap}.family-connect{flex-basis:100%;display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding-top:8px}.family-connect label{flex:1 1 220px;margin:0}.family-connect .error{width:100%}.family-new>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}.family-new>summary:focus-visible{outline:2px solid #617b50;outline-offset:3px;border-radius:6px}.family-directory h2,.family-detail-heading h2{margin:0;font-size:20px}.family-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin-top:16px}.family-list-item{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface, white);text-align:left;color:inherit;min-width:0}.family-list-item[aria-pressed=true]{background:var(--surface-muted, #edf1e6);border-color:#869875}.family-list-item span{flex:1;min-width:0;overflow-wrap:anywhere}.family-list-item strong,.family-list-item small{display:block}.family-list-item small{margin-top:6px;color:var(--text-muted, #66715d);font-size:13px}.family-list-item svg{flex-shrink:0}.family-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.family-panel{display:flex;flex-direction:column;align-items:stretch;gap:16px}.family-panel>h2,.family-panel>p{margin:0}.family-panel>label{margin:0}.family-panel>button{align-self:flex-start}.family-panel .family-row{padding:16px 0 0}.family-row p{margin-bottom:0}.family-invite-link{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:0}.family-invite-link label{flex:1 1 220px;margin:0}.family-new>summary{font-size:14px;color:var(--text, #536647)}@media(max-width:480px){.family-panel>.family-actions h2{flex-basis:100%}}.family-people-list{list-style:none;padding:0;margin:0}.family-people-list>li{border-top:1px solid var(--border);padding:16px 0}.family-people-list>li:last-child{padding-bottom:0}.family-person-summary{display:flex;align-items:center;gap:14px}.family-person-summary>.avatar{width:44px;height:44px;flex-shrink:0}.family-person-identity{flex:1;min-width:0;overflow-wrap:anywhere}.family-person-identity h3{line-height:1.4}.family-person-identity p{display:flex;align-items:center;gap:6px;margin:5px 0 0}.family-person-identity svg{flex-shrink:0}.family-connected{display:inline-flex;align-items:center;gap:4px;color:var(--text, #586c48);font-size:12px;margin-top:5px}.family-person-actions{display:flex;flex-shrink:0;gap:4px}.person-action-menu{z-index:20;min-width:180px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--surface, #fff);box-shadow:0 8px 28px #24321826}.person-action-menu [role=menuitem]{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border-radius:6px;font-size:14px;cursor:pointer;outline:none}.person-action-menu [data-highlighted]{background:var(--surface-muted, #edf1e6)}.person-action-menu .danger-action{color:var(--text-rose, #964b40)}.family-person-connection{display:flex;flex-wrap:wrap;gap:12px;padding:16px;margin-top:12px;background:var(--surface, #f6f7f1);border-radius:8px}.family-person-connection .family-connect{padding:0}@media(max-width:480px){.family-person-summary{gap:10px}.family-person-summary>.avatar{width:36px;height:36px;font-size:12px}.family-person-actions{gap:0}}.shopping-partners{border:0;padding:0;margin:0;display:grid;gap:10px}.shopping-partners legend{font-size:14px;font-weight:600;margin-bottom:12px}.shopping-partners .checkbox{display:flex;align-items:center;gap:10px;min-height:44px;margin:0}.shopping-partners input{width:20px;height:20px;flex:0 0 20px}.gift-sharing-fields{padding:16px;background:var(--surface-muted, #f0f3e9);border-radius:10px;margin:16px 0}.gift-sharing-fields label{margin-bottom:10px}.gift-sharing-fields p:last-child{margin-bottom:0}.gift-visibility{font-size:12px;color:var(--text, #536647);overflow-wrap:anywhere}.shared-gifts{margin-top:40px;border-top:1px solid var(--border);padding-top:24px}.shared-gifts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}.shared-gift-card{background:var(--surface, #fff);padding:22px;border:1px solid var(--border);border-radius:12px;overflow-wrap:anywhere}.shared-gift-card h3{margin:16px 0 6px}.shared-gift-body>.family-actions:first-child{justify-content:space-between}.shared-gift-notes{white-space:pre-wrap}.shared-price-history{padding-left:20px;font-size:14px}.gift-list-tabs{margin-bottom:24px;width:fit-content}.gift-list-tabs [data-state=active]{background:var(--surface, #fff);color:var(--text, #36432e);box-shadow:0 1px 4px #24321812}.shared-gifts{margin-top:0;border-top:0;padding-top:0}.directory-filters{margin:20px 0 12px}.directory-group-filters{display:flex;flex-wrap:wrap;gap:8px}.directory-group-filters button{min-height:44px;max-width:100%;border:1px solid var(--border);border-radius:22px;background:var(--surface, #fff);padding:9px 14px;color:var(--text, #46513e);font-size:13px;overflow-wrap:anywhere}.directory-group-filters button[aria-pressed=true]{background:var(--surface-muted, #e8eddf);border-color:#84956f}.directory-group-filters button span{margin-left:6px;color:var(--text-muted, #66715d)}.directory-search{display:block;margin:16px 0 0}.directory-group-manager{border-bottom:1px solid var(--border);padding:8px 0 16px;margin-bottom:8px}.directory-group-manager summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}.directory-managed-groups{list-style:none;padding:0}.directory-managed-groups li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.directory-managed-groups li>span{flex:1 1 140px;overflow-wrap:anywhere}.directory-group-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.directory-group-form label{flex:1 1 180px;margin:0}.directory-person-groups{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.directory-person-groups span{border-radius:12px;padding:3px 9px;font-size:11px;background:var(--surface-muted, #f0f3ea);color:var(--text, #59664e);overflow-wrap:anywhere}.directory-group-options{border:0;padding:0;margin:16px 0;min-width:0}.directory-group-options legend{font-size:13px;margin-bottom:8px}.family-settings>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;font-weight:600}.family-settings>.family-panel{margin-top:12px}.product-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:13px;font-weight:600;color:var(--text, #465e35);text-decoration:underline;text-underline-offset:3px}.product-link:hover{color:var(--text, #263a1d)}.directory-view-toggle{display:flex;gap:4px;margin-top:16px}.directory-view-toggle button{min-height:44px;border:1px solid var(--border);border-radius:8px;padding:8px 16px;background:var(--surface, white);color:var(--text, #46513e);font-size:13px}.directory-view-toggle button[aria-pressed=true]{background:var(--surface-muted, #e8eddf);border-color:#84956f}.family-table-scroll{max-width:100%;overflow-x:auto;margin-top:16px}.family-people-table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px;text-align:left}.family-people-table th,.family-people-table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}.family-people-table thead th{background:var(--surface, #f4f6ef);color:var(--text, #59664e);font-weight:600}.family-people-table tbody th{min-width:140px;max-width:230px;overflow-wrap:anywhere}.family-people-table td:nth-child(3){min-width:150px;max-width:250px}.family-people-table .family-person-actions{justify-content:flex-start}.directory-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.directory-toolbar .directory-search{flex:1;min-width:0;margin:0}.directory-toolbar .directory-view-toggle{margin:0;gap:0;flex-shrink:0}.directory-toolbar .directory-view-toggle button{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:0}.directory-toolbar .directory-view-toggle button:first-child{border-radius:8px 0 0 8px}.directory-toolbar .directory-view-toggle button:last-child{border-radius:0 8px 8px 0}.gift-claim{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.gift-claim p{margin:0;font-size:13px;color:var(--text, #46513e)}.gift-claim .error{color:var(--text-rose, #9b4534);width:100%}.upcoming-birthdays{margin:24px 0;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface, #fff)}.upcoming-birthdays h2{font-size:18px;margin:0}.birthday-plans{list-style:none;padding:0;margin:12px 0 0}.birthday-plans li{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--border);flex-wrap:wrap}.birthday-plans li>div{flex:1 1 170px;min-width:0}.birthday-plans strong{display:block;font-size:14px;overflow-wrap:anywhere}.birthday-plans li>div>span{display:block;font-size:12px;color:var(--text-muted, #66715d);margin-top:4px}.birthday-plan-status{font-size:12px;background:var(--surface-muted, #edf1e7);color:var(--text, #46513e);border-radius:12px;padding:5px 9px}.birthday-plan-status.needs-idea{background:var(--surface-warm, #fbefde);color:var(--text-warm, #80551e)}@media(max-width:600px){.directory-toolbar .directory-view-toggle button span{display:none}.directory-toolbar .directory-view-toggle button{min-width:44px}}@media(max-width:380px){.family-person-summary{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start}.family-person-summary>.family-person-actions{grid-column:2;justify-self:end}}:root[data-theme=dark]{color-scheme:dark;--page: #141416;--surface: #1e1e21;--surface-muted: #29292d;--surface-overlay: #1e1e21ee;--surface-rose: #30262b;--surface-warm: #262629;--surface-blue: #252c35;--surface-purple: #2c2835;--text: #f2f2f3;--text-muted: #b0b0b8;--text-rose: #eab3bf;--text-warm: #ded3bc;--text-blue: #b4cce8;--text-purple: #cbbce6;--muted: #b0b0b8;--border: #3b3b41;--green: #36594a}:root[data-theme=dark] :is(input,select,textarea):focus{outline-color:#8dc5ac;border-color:#8dc5ac}:root[data-theme=dark] :is(button,a):focus-visible{outline-color:#8dc5ac}:root[data-theme=dark] .dialog-overlay{background:#000a}:root[data-theme=dark] .primary{background:var(--green);color:#fff}:root[data-theme=dark] .primary:hover:not(:disabled){background:#406b58}.theme-toggle{min-width:44px;min-height:44px}.auth-page{position:relative}.auth-theme{position:absolute;right:18px;top:18px}.person-card>.subtle{display:block;margin-top:5px}@media(max-width:380px){.upcoming-birthdays .family-actions{align-items:start}.upcoming-birthdays .family-actions h2{flex-basis:100%}}.shopping-partner-prompt{margin:0 0 24px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--surface-muted, #edf1e6)}.shopping-partner-prompt h2{font-size:17px;margin:0 0 8px}.shopping-partner-prompt p{font-size:13px;line-height:1.6;color:var(--text-muted, #66715d)}@media(max-width:480px){.gift-list-tabs{width:100%;display:flex}.gift-list-tabs button{flex:1;min-width:0;padding:10px 6px;font-size:12px;min-height:44px}}.link-import-help{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}.link-import-help p{margin:0;font-size:12px}.link-refresh{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px}.shared-gift-card{padding:0;overflow:hidden}.shared-gift-body{padding:20px}#ideas .list-heading{gap:16px;flex-wrap:wrap;margin-bottom:20px}#ideas .toolbar{margin-bottom:24px;padding-bottom:20px;flex-wrap:wrap}.gift-list-refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}#ideas>[role=status],#ideas>[role=alert]{margin:0 0 20px}.shared-gifts>.subtle{display:block;margin:12px 0 24px}.shared-gift-body>.family-actions{gap:12px}@media(max-width:380px){.gift-list-refresh{width:44px;padding:10px}.gift-list-refresh span{display:none}}.search input:focus{outline:none;box-shadow:none;border:0}.wishlist-fields{border:0;margin:24px 0;padding:0;min-width:0}.wishlist-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin:20px 0 32px}.wishlist-summary{background:var(--surface, #fff);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:left;display:grid;gap:8px}.wishlist-summary span{font-size:13px;color:var(--muted)}.wishlist-heading{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:24px}.wishlists-page>.subtle{display:block;margin:16px 0 24px}.wishlist-item-actions{margin-top:20px}.wishlist-delete{margin-top:28px}@media(max-width:700px){.sidebar nav{gap:0}.sidebar .nav-item{padding-left:2px;padding-right:2px;min-width:0}.sidebar .nav-item span{font-size:9px}}
