.notification-center{position:relative;flex:none;z-index:45}.notification-bell{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid #ddd4c8;border-radius:50%;background:linear-gradient(145deg,#fffdfa,#eee7dc);color:#39332b;cursor:pointer}.notification-bell:hover{border-color:#9a8468;box-shadow:0 3px 12px #4b3c2715}.notification-count{position:absolute;top:-3px;right:-5px;min-width:19px;height:19px;padding:0 4px;border:2px solid #faf8f3;border-radius:12px;background:#544737;color:#fff;font-size:10px;font-weight:600;line-height:15px}.notification-count[hidden]{display:none}.notification-panel{position:absolute;right:0;top:55px;width:min(420px,calc(100vw - 28px));max-height:min(70dvh,640px);overflow:auto;overscroll-behavior:contain;border:1px solid #dfd3c3;border-radius:22px;background:linear-gradient(145deg,#fffefa,#f0e9dd);box-shadow:0 20px 65px #2b211c28}.notification-panel[hidden]{display:none}.notification-heading{display:flex;align-items:flex-start;justify-content:space-between;padding:25px 22px 16px}.notification-heading h2{font-size:28px;margin:3px 0 0}.notification-heading .eyebrow{font-size:8px;letter-spacing:1.6px;margin:0}.notification-close,.notification-banner-dismiss{border:0;background:transparent;font-size:25px;color:#716553;cursor:pointer;min-width:36px;min-height:36px}.notification-toolbar{display:flex;justify-content:space-between;gap:12px;padding:0 22px 14px;font-size:11px;color:#746a5e}.notification-toolbar button,.notification-error button{background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#514432;cursor:pointer;font:inherit}.notification-toolbar button:disabled{opacity:.4;cursor:default}.notification-item{display:grid;grid-template-columns:7px minmax(0,1fr) 12px;gap:12px;width:100%;border:0;border-top:1px solid #e6ddd0;background:transparent;text-align:left;padding:18px 22px;color:#332e28;cursor:pointer;line-height:1.5}.notification-item:hover{background:#fff9}.notification-item.is-unread{background:#fff8}.notification-item strong{font-size:13px;font-weight:600;display:block}.notification-body{display:block;font-size:12px;color:#72695d;margin:4px 0;overflow-wrap:anywhere}.notification-item time{font-size:10px;color:#8b8174}.notification-dot{margin-top:6px;width:6px;height:6px;border-radius:50%;background:transparent}.is-unread .notification-dot{background:#9b815e}.notification-empty{text-align:center;padding:28px 30px 35px;border-top:1px solid #e6ddd0;color:#7a6e5d}.notification-empty>.icon{width:28px;height:28px;margin:0 auto 12px}.notification-empty h3{color:#504536;font-size:21px}.notification-empty p{font-size:12px;line-height:1.6}.notification-error{padding:0 22px 15px;font-size:12px;color:#7b4f3b}.notification-banner{position:fixed;z-index:150;top:max(18px,env(safe-area-inset-top));left:50%;width:min(510px,calc(100vw - 28px));display:flex;align-items:flex-start;border:1px solid #d8c9b6;border-radius:20px;background:linear-gradient(125deg,#fffdf8f5,#eae0d0f5);box-shadow:0 14px 55px #3a2c2230;backdrop-filter:blur(18px);transform:translate(-50%,-130%);opacity:0;transition:transform .4s cubic-bezier(.2,.8,.25,1),opacity .3s}.notification-banner[hidden]{display:none}.notification-banner.is-visible{transform:translate(-50%,0);opacity:1}.notification-banner-open{display:grid;grid-template-columns:35px minmax(0,1fr);gap:12px;width:100%;padding:18px 7px 18px 19px;align-items:center;background:transparent;border:0;text-align:left;color:#3b3126;cursor:pointer;min-width:0}.notification-banner-icon{width:35px;height:35px;border:1px solid #d9c9b2;border-radius:50%;display:grid;place-items:center;background:#fff9}.notification-banner-open small{display:block;font-size:8px;letter-spacing:1.3px;margin-bottom:5px;color:#8b775a}.notification-banner-open strong{display:block;font-size:14px;margin-bottom:3px;font-weight:600}.notification-banner-open span>span{font-size:12px;line-height:1.5;display:block;overflow-wrap:anywhere}.notification-banner-dismiss{flex:none;margin:6px 3px 0 0}.guest-notification-highlight{outline:2px solid #ad916a;outline-offset:5px;background:linear-gradient(135deg,#fffdfa,#f0e4d1)}
.topbar{position:relative;z-index:60}
@media(max-width:700px){.notification-panel{position:fixed;top:85px;right:14px}.notification-bell{width:36px;height:36px}.notification-center{margin-left:auto}.notification-banner-open{padding:15px 4px 15px 14px;gap:9px;grid-template-columns:30px minmax(0,1fr)}.notification-banner-icon{width:30px;height:30px}.notification-banner-open strong{font-size:13px}.notification-banner-open span>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.notification-banner{transition:none;transform:translate(-50%,0)}}
