@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--cream:#fbf7f3;--paper:#fff;--blush:#f5dee3;--blush-soft:#fbeef1;--rose:#c97b84;--rose-deep:#a85d68;--gold:#c9a66b;--sage:#8fa98a;--ink:#4a2e35;--soft:#8a6b71;--line:#ead9db;--shadow:0 18px 55px rgba(74,46,53,.10);--shadow-sm:0 6px 22px rgba(74,46,53,.07);}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,sans-serif;min-height:100vh}h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;margin:0;font-weight:600}button,input,textarea,select{font:inherit}button{cursor:pointer}.muted{color:var(--soft)}.tiny{font-size:11px;color:var(--soft)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;color:var(--rose-deep);font-weight:700}.ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden}.ambient span{position:absolute;border-radius:50%;filter:blur(2px);opacity:.28}.ambient span:nth-child(1){width:340px;height:340px;background:var(--blush);top:-120px;right:-100px}.ambient span:nth-child(2){width:280px;height:280px;background:#f2e6ce;bottom:-130px;left:-110px}.ambient span:nth-child(3){width:180px;height:180px;background:#e1eee0;top:38%;left:42%}
.auth-body{display:grid;place-items:center;padding:24px}.auth-card{position:relative;z-index:1;width:min(480px,100%);padding:44px;border:1px solid var(--line);background:rgba(255,255,255,.90);backdrop-filter:blur(14px);border-radius:30px;box-shadow:var(--shadow);text-align:center}.heart{font-size:58px;line-height:1;color:var(--rose);margin-bottom:12px}.auth-card h1{font-size:58px}.auth-card .muted{line-height:1.7;margin:12px 0 26px}.form-stack{text-align:left;display:grid;gap:15px}.form-stack label,.field label{font-size:12px;color:var(--soft)}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--cream);border-radius:13px;padding:12px 13px;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(201,123,132,.12)}.btn{border:0;border-radius:13px;padding:12px 16px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn.primary{background:var(--rose);color:#fff}.btn.primary:hover{background:var(--rose-deep)}.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--soft)}.error{background:#fff0f1;color:var(--rose-deep);padding:10px 13px;border-radius:12px;font-size:12px;margin-bottom:14px}
.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:rgba(255,255,255,.75);backdrop-filter:blur(14px);padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:9px 12px 22px}.brand-mark{width:35px;height:35px;border-radius:12px;background:var(--blush);display:grid;place-items:center;color:var(--rose-deep);font-size:22px}.brand strong{font-family:'Cormorant Garamond';font-size:25px}.user-box{padding:13px;border:1px solid var(--line);background:var(--paper);border-radius:18px;display:flex;align-items:center;gap:10px;margin-bottom:16px}.avatar{width:40px;height:40px;border-radius:14px;object-fit:cover;background:var(--blush);display:grid;place-items:center;color:var(--rose-deep);font-weight:700;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;text-align:left;padding:12px;border-radius:12px;color:var(--soft);display:flex;align-items:center;gap:10px}.nav button:hover,.nav button.active{background:var(--blush-soft);color:var(--ink)}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.content{padding:28px 34px 70px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:24px}.topbar h1{font-size:48px}.top-actions{display:flex;gap:8px}.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.card{background:rgba(255,255,255,.90);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm)}.hero-card{padding:28px;background:linear-gradient(135deg,var(--blush-soft),#fff)}.hero-card h2{font-size:32px;margin-top:8px}.next-date{display:flex;align-items:center;gap:15px;margin-top:26px}.date-circle{width:58px;height:58px;border-radius:50%;background:#fff;display:grid;place-items:center;border:1px solid var(--line);font-size:24px}.count{font-size:12px;color:var(--soft)}.days{font-family:'Cormorant Garamond';font-size:34px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{padding:20px}.stat .n{font:700 32px 'Cormorant Garamond'}.section{display:none}.section.active{display:block;animation:up .25s ease}@keyframes up{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:25px 0 14px}.section-head h2{font-size:31px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.panel{padding:20px}.panel h3{font-size:20px;margin-bottom:13px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{background:var(--blush);color:var(--rose-deep);border-radius:999px;padding:6px 10px;font-size:12px}.wishlist-card{overflow:hidden;display:flex;flex-direction:column}.wish-img{height:170px;background:var(--blush-soft);display:grid;place-items:center;color:var(--rose);font-size:36px;overflow:hidden}.wish-img img{width:100%;height:100%;object-fit:cover}.wish-body{padding:17px;display:grid;gap:9px;flex:1}.wish-name{font-weight:700}.meta{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:10px;padding:5px 8px;border-radius:999px;background:#f6efe1;color:#846a35}.wish-actions{display:flex;gap:7px;margin-top:auto}.small-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;font-size:11px;color:var(--soft)}.small-btn:hover{border-color:var(--rose);color:var(--rose-deep)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.toolbar input{max-width:280px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;font-size:11px;color:var(--soft)}.chip-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}.date-list{display:grid;gap:10px}.date-row{display:flex;justify-content:space-between;align-items:center;padding:16px 18px}.date-left{display:flex;align-items:center;gap:12px}.date-icon{width:42px;height:42px;border-radius:14px;background:var(--blush);display:grid;place-items:center}.tier{display:grid;gap:12px}.tier-row{display:grid;grid-template-columns:68px 1fr;gap:10px}.tier-label{border-radius:15px;display:grid;place-items:center;font:700 24px 'Cormorant Garamond';background:var(--blush);min-height:100px}.tier-drop{min-height:100px;border:1px dashed var(--line);border-radius:15px;background:rgba(255,255,255,.55);padding:8px;display:flex;gap:8px;overflow:auto}.tier-item{min-width:120px;width:120px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:7px;cursor:grab}.tier-item img{width:100%;height:72px;object-fit:cover;border-radius:9px;background:var(--blush-soft)}.tier-item .name{font-size:11px;font-weight:700;margin-top:6px}.modal-backdrop{position:fixed;inset:0;background:rgba(74,46,53,.35);display:none;place-items:center;padding:18px;z-index:50}.modal-backdrop.open{display:grid}.modal{width:min(720px,100%);max-height:92vh;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:24px}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full{grid-column:1/-1}.upload{border:1px dashed var(--line);border-radius:14px;padding:15px;background:var(--cream)}.hidden{display:none!important}.footer-note{text-align:center;color:var(--soft);font-size:11px;margin-top:32px}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px}.nav{display:flex;overflow:auto}.sidebar-bottom{display:none}.content{padding:20px}.hero-grid{grid-template-columns:1fr}.profile-grid,.form-grid{grid-template-columns:1fr}.topbar{align-items:start}.topbar h1{font-size:40px}}@media(max-width:560px){.auth-card{padding:30px 22px}.auth-card h1{font-size:48px}.topbar{display:block}.top-actions{margin-top:12px}.stats{grid-template-columns:1fr}.tier-row{grid-template-columns:52px 1fr}.tier-label{min-height:90px}}


.partner-switcher{display:flex;gap:6px;padding:6px;margin-bottom:20px;overflow:auto}
.partner-tab{border:0;background:transparent;color:var(--ink-soft);padding:10px 16px;border-radius:12px;cursor:pointer;font-weight:600;white-space:nowrap}
.partner-tab.active{background:var(--blush);color:var(--rose-deep)}
.partner-panel{display:none;animation:fadeIn .2s ease}
.partner-panel.active{display:block}
.sizes-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.sizes-summary div{background:var(--cream);border:1px solid var(--line);padding:10px 12px;border-radius:12px;display:flex;justify-content:space-between;gap:10px}
.sizes-summary span{color:var(--ink-soft);font-size:12px}.sizes-summary b{font-size:13px}
.tier-empty{color:var(--ink-soft);font-size:12px;padding:18px}
.read-only-tier .tier-item{cursor:default}
@media(max-width:640px){.partner-switcher{width:100%}.partner-tab{flex:1;padding:10px 8px}.sizes-summary{grid-template-columns:1fr}}

.tier-unranked{padding:14px;margin:14px 0 18px}.tier-unranked-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.tier-pool{min-height:118px}.tier-drop.drag-over{border-color:var(--rose);background:var(--blush-soft)}.tier-empty{display:grid;place-items:center;min-width:180px;color:var(--soft);font-size:12px;padding:18px}.tier-unranked .tier-item{min-width:140px}.tier-unranked .tier-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.notif-dot{display:none;min-width:8px;height:8px;border-radius:50%;background:var(--rose-deep);margin-left:auto}.notif-dot.show{display:inline-block}.gift-detail{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1fr);gap:24px;align-items:start}.gift-detail-media{background:var(--blush-soft);border:1px solid var(--line);border-radius:20px;min-height:360px;display:grid;place-items:center;overflow:hidden}.gift-detail-media img{width:100%;height:100%;max-height:520px;object-fit:contain}.gift-placeholder{font-size:64px;color:var(--rose)}.gift-detail-info{display:grid;gap:12px}.detail-row{display:flex;justify-content:space-between;gap:16px;padding-bottom:11px;border-bottom:1px solid var(--line)}.detail-row span,.detail-block>span{color:var(--soft);font-size:12px}.detail-row b{font-size:13px;text-align:right}.detail-block{padding-top:2px}.detail-block p{margin:6px 0 0;white-space:pre-wrap;line-height:1.6;color:var(--ink)}.detail-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.notification-list{display:grid;gap:10px}.notification{position:relative;width:100%;display:flex;align-items:flex-start;gap:12px;padding:15px 17px;text-align:left;border:1px solid var(--line);cursor:pointer}.notification.read{opacity:.68}.notification-icon{width:40px;height:40px;border-radius:13px;background:var(--blush);display:grid;place-items:center;flex:none}.notification p{margin:4px 0 5px;color:var(--soft);font-size:12px}.unread-dot{width:9px;height:9px;border-radius:50%;background:var(--rose-deep);margin-left:auto;margin-top:6px;flex:none}.check-row label{display:flex;align-items:center;gap:8px}.check-row input{width:auto}.read-only-tier .tier-item{cursor:default}.read-only-tier .tier-drop{overflow:auto}
@media(max-width:760px){.gift-detail{grid-template-columns:1fr}.gift-detail-media{min-height:240px}.detail-row{align-items:flex-start}.detail-row b{max-width:55%}}
