.vifi-account-entry{font:inherit;white-space:nowrap;min-height:44px;padding:var(--vifi-space-xs) var(--vifi-space-sm);border:1px solid var(--vifi-border);border-radius:var(--vifi-radius-lg);color:var(--vifi-text);background:var(--vifi-surface);cursor:pointer}.vifi-account-entry.is-signed-in{width:44px;padding:0;border-radius:var(--vifi-radius-pill);font-weight:var(--vifi-font-weight-bold)}.vifi-account-sheet{box-sizing:border-box;width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:var(--vifi-space-xl);border:1px solid var(--vifi-border);border-radius:var(--vifi-radius-xl);background:var(--vifi-bg);color:var(--vifi-text);font:var(--vifi-font-size-body)/1.5 var(--vifi-font-family)}.vifi-account-sheet::backdrop{background:color-mix(in srgb,var(--vifi-black) 66.67%,transparent)}.vifi-account-top{display:flex;align-items:center;justify-content:space-between;gap:var(--vifi-space-md)}.vifi-account-brand{font-size:var(--vifi-font-size-heading);font-weight:var(--vifi-font-weight-bold);color:var(--vifi-pink)}.vifi-account-sheet h2{font-size:var(--vifi-font-size-heading);margin:var(--vifi-space-lg) 0}.vifi-account-sheet form,.vifi-account-sheet label{display:grid;gap:var(--vifi-space-xs)}.vifi-account-sheet form{gap:var(--vifi-space-md)}.vifi-account-sheet input{box-sizing:border-box;width:100%;min-height:48px;padding:var(--vifi-space-sm);font:inherit;color:inherit;background:var(--vifi-surface);border:1px solid var(--vifi-text-muted);border-radius:var(--vifi-radius-lg)}.vifi-account-sheet button{display:block;width:100%;min-height:44px;padding:var(--vifi-space-sm) var(--vifi-space-sm);margin:var(--vifi-space-xs) 0;font:inherit;color:inherit;background:var(--vifi-surface);border:1px solid var(--vifi-text-muted);border-radius:var(--vifi-radius-lg);cursor:pointer}.vifi-account-sheet button[type=submit]{background:var(--vifi-pink);color:var(--vifi-action-label);border-color:var(--vifi-pink);font-weight:var(--vifi-font-weight-bold)}.vifi-account-top button{width:auto;margin:0}.vifi-account-sheet button:disabled,.vifi-account-sheet input:disabled{opacity:.6;cursor:wait}.vifi-account-sheet a{color:inherit;text-decoration:underline;text-underline-offset:3px}.vifi-account-sheet section a{display:block;padding:var(--vifi-space-sm) 0}.vifi-account-sheet :focus-visible,.vifi-account-entry:focus-visible{outline:3px solid var(--vifi-pink);outline-offset:3px}.vifi-account-sheet p{overflow-wrap:anywhere}.vifi-account-privacy{font-size:var(--vifi-font-size-label);line-height:1.6;color:var(--vifi-text-secondary)}.vifi-account-sheet [role=status]{min-height:1.5em;color:var(--vifi-text)}@media(max-width:767px){.vifi-account-sheet{width:100%;max-width:100%;margin:auto 0 0;border-radius:var(--vifi-radius-xl) var(--vifi-radius-xl) 0 0;border-bottom:0;padding:var(--vifi-space-xl) var(--vifi-space-lg) max(var(--vifi-space-xl),env(safe-area-inset-bottom));max-height:calc(100dvh - env(safe-area-inset-top) - 12px)}.header .vifi-account-entry{font-size:var(--vifi-font-size-label);padding:var(--vifi-space-xs);flex-shrink:0}}
.vifi-account-menu{display:none;position:relative;flex-shrink:0}.vifi-account-menu summary{display:grid;place-items:center;box-sizing:border-box;list-style:none;width:44px;height:44px;border:1px solid var(--vifi-border);border-radius:var(--vifi-radius-lg);color:var(--vifi-text);background:var(--vifi-surface);cursor:pointer}.vifi-account-menu summary::-webkit-details-marker{display:none}.vifi-account-menu>button{position:absolute;z-index:var(--vifi-z-popover);right:0;top:48px;min-width:160px;min-height:48px;padding:var(--vifi-space-sm) var(--vifi-space-md);border:1px solid var(--vifi-border);border-radius:var(--vifi-radius-lg);font:inherit;color:var(--vifi-text);background:var(--vifi-surface);box-shadow:var(--vifi-shadow-overlay);white-space:nowrap;cursor:pointer}.vifi-account-menu :focus-visible{outline:3px solid var(--vifi-pink);outline-offset:3px}.vifi-account-save-status{position:fixed;z-index:var(--vifi-z-toast);bottom:24px;left:50%;transform:translateX(-50%);box-sizing:border-box;width:max-content;max-width:calc(100% - 32px);padding:var(--vifi-space-sm) var(--vifi-space-md);border:1px solid var(--vifi-border);border-radius:var(--vifi-radius-lg);background:var(--vifi-surface);color:var(--vifi-text);font:var(--vifi-font-size-label)/1.5 var(--vifi-font-family)}.vifi-account-save-status[hidden]{display:none}@media(max-width:767px){.vifi-account-entry{display:none}.vifi-account-menu{display:block}}

/* Account drawer shares the consumer palette; authentication forms keep their layout. */
.vifi-profile-sheet{width:420px;max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:var(--vifi-space-xl);border-radius:var(--vifi-radius-xl) 0 0 var(--vifi-radius-xl);border-right:0;font-family:var(--vifi-font-family);overscroll-behavior:contain;scrollbar-width:thin;animation:vifi-profile-in 180ms ease-out}
.vifi-profile-sheet::backdrop{background:color-mix(in srgb,var(--vifi-black) 60%,transparent);backdrop-filter:blur(4px)}
.vifi-profile-sheet .vifi-account-top{position:sticky;top:0;z-index:var(--vifi-z-raised);min-height:44px;background:var(--vifi-bg)}
.vifi-profile-sheet .vifi-account-top button{display:grid;place-items:center;width:44px;height:44px;padding:0;border-color:var(--vifi-divider);border-radius:var(--vifi-radius-pill);font-size:var(--vifi-font-size-heading);line-height:1;background:transparent}
.vifi-profile-sheet h2{margin:var(--vifi-space-xl) 0 var(--vifi-space-md);font-size:var(--vifi-font-size-heading);line-height:1.25;letter-spacing:-.5px;font-weight:var(--vifi-font-weight-bold)}
.vifi-profile-identity{display:flex;align-items:center;gap:var(--vifi-space-md);padding:var(--vifi-space-xs) 0 var(--vifi-space-xl)}
.vifi-profile-avatar{position:relative;display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;overflow:hidden;border:1px solid var(--vifi-border);border-radius:var(--vifi-radius-pill);background:var(--vifi-surface-raised);color:var(--vifi-pink);font-size:var(--vifi-font-size-display);font-weight:var(--vifi-font-weight-bold)}
.vifi-profile-avatar img{position:absolute;inset:0;width:64px;height:64px;object-fit:cover}
.vifi-profile-identity>div{min-width:0}
.vifi-profile-identity h3{margin:0;font-size:var(--vifi-font-size-title);line-height:1.3;overflow-wrap:anywhere}
.vifi-profile-identity .vifi-profile-email{margin:var(--vifi-space-xxs) 0 var(--vifi-space-xs);font-size:var(--vifi-font-size-label);color:var(--vifi-text-muted);line-height:1.5}
.vifi-profile-provider{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--vifi-space-xs);border:1px solid var(--vifi-divider);border-radius:var(--vifi-radius-md);font-size:var(--vifi-font-size-caption);font-weight:var(--vifi-font-weight-semibold);color:var(--vifi-text-secondary)}
.vifi-profile-card{padding:var(--vifi-space-md);margin:0 0 var(--vifi-space-md);border:1px solid var(--vifi-divider);border-radius:var(--vifi-radius-xl);background:var(--vifi-surface)}
.vifi-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--vifi-space-xs);margin:0 0 var(--vifi-space-xs)}
.vifi-profile-heading h3{margin:0;font-size:var(--vifi-font-size-body);line-height:1.5;font-weight:var(--vifi-font-weight-bold);letter-spacing:-.2px}
.vifi-profile-count{display:grid;place-items:center;min-width:24px;height:24px;padding:0 var(--vifi-space-xxs);box-sizing:border-box;border-radius:var(--vifi-radius-md);color:var(--vifi-pink);background:var(--vifi-surface-raised);font-size:var(--vifi-font-size-label);font-weight:var(--vifi-font-weight-bold);font-variant-numeric:tabular-nums}
.vifi-profile-sheet .vifi-profile-plan{display:flex;align-items:center;gap:var(--vifi-space-xs);border-top:1px solid var(--vifi-divider)}
.vifi-profile-sheet .vifi-profile-plan a{min-width:0;flex:1;padding:var(--vifi-space-sm) 0;min-height:44px;box-sizing:border-box;text-decoration:none}
.vifi-profile-plan strong,.vifi-profile-plan span{display:block;overflow-wrap:anywhere}
.vifi-profile-plan strong{font-size:var(--vifi-font-size-label);font-weight:var(--vifi-font-weight-semibold)}
.vifi-profile-plan span{font-size:var(--vifi-font-size-caption);color:var(--vifi-text-muted);margin-top:var(--vifi-space-xxs)}
.vifi-profile-sheet .vifi-profile-remove{flex:0 0 44px;width:44px;height:44px;padding:0;margin:0;border:0;background:transparent;color:var(--vifi-text-muted);font-size:var(--vifi-font-size-heading)}
.vifi-profile-sheet .vifi-profile-text-button{margin:var(--vifi-space-xs) 0 0;padding:var(--vifi-space-xs) 0;border:0;background:transparent;color:var(--vifi-pink);font-size:var(--vifi-font-size-label);font-weight:var(--vifi-font-weight-semibold);text-align:left}
.vifi-profile-empty{padding:var(--vifi-space-xs) 0}
.vifi-profile-empty p{margin:0 0 var(--vifi-space-sm);color:var(--vifi-text-muted);font-size:var(--vifi-font-size-label);line-height:1.6}
.vifi-profile-sheet .vifi-profile-cta{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:var(--vifi-space-sm) var(--vifi-space-sm);border:1px solid var(--vifi-border);border-radius:var(--vifi-radius-lg);text-decoration:none;color:var(--vifi-pink);font-size:var(--vifi-font-size-label);font-weight:var(--vifi-font-weight-semibold)}
.vifi-profile-tabs{display:flex;gap:var(--vifi-space-xxs);margin:var(--vifi-space-sm) 0 var(--vifi-space-xs);border-bottom:1px solid var(--vifi-divider)}
.vifi-profile-sheet .vifi-profile-tabs button{width:auto;flex:1;min-width:0;margin:0 0 0;padding:var(--vifi-space-xs) var(--vifi-space-xxs);border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--vifi-text-muted);font-size:var(--vifi-font-size-label);white-space:nowrap}
.vifi-profile-sheet .vifi-profile-tabs button[aria-selected=true]{background:var(--vifi-accent);color:var(--vifi-action-label);border-bottom-color:transparent;border-radius:var(--vifi-radius-pill);font-weight:var(--vifi-font-weight-bold)}
.vifi-profile-sheet .vifi-profile-link{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px;min-height:44px;box-sizing:border-box;padding:var(--vifi-space-sm) 0;text-decoration:none;font-size:var(--vifi-font-size-label);border-bottom:1px solid var(--vifi-divider);overflow-wrap:anywhere}
.vifi-profile-sheet .vifi-profile-setting{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:var(--vifi-space-md);min-height:48px;width:100%;padding:var(--vifi-space-xs) 0;margin:0;border:0;border-bottom:1px solid var(--vifi-divider);border-radius:0;background:transparent;text-align:left;font:inherit;font-size:var(--vifi-font-size-label)}
.vifi-profile-setting select{max-width:60%;min-height:44px;min-width:0;padding:var(--vifi-space-xs) var(--vifi-space-xl) var(--vifi-space-xs) var(--vifi-space-xs);border:1px solid transparent;border-radius:var(--vifi-radius-md);background:var(--vifi-surface);color:var(--vifi-text-secondary);font:inherit;font-size:var(--vifi-font-size-label);text-align:right;cursor:pointer;color-scheme:dark}
.vifi-profile-sheet .vifi-profile-caption{font-size:var(--vifi-font-size-caption);line-height:1.6;color:var(--vifi-text-muted);margin:var(--vifi-space-sm) 0 0}
.vifi-profile-sheet .vifi-profile-danger{color:var(--vifi-destructive)}
.vifi-profile-sheet button:hover,.vifi-profile-sheet a:hover{background:var(--vifi-surface-raised)}
.vifi-profile-sheet button:active,.vifi-profile-sheet a:active{opacity:.8}
.vifi-profile-sheet [role=tabpanel]{min-height:120px}
.vifi-profile-bookmarks{margin-top:var(--vifi-space-xs);font-size:var(--vifi-font-size-label);color:var(--vifi-text-secondary)}
.vifi-profile-bookmarks summary{display:flex;align-items:center;min-height:44px;cursor:pointer}
.vifi-profile-import{border-top:1px solid var(--vifi-divider);padding-top:var(--vifi-space-xs);margin-top:var(--vifi-space-xs);font-size:var(--vifi-font-size-label);color:var(--vifi-text-secondary)}
.vifi-profile-loading{display:flex;align-items:center;justify-content:center;min-height:288px;margin:0 0 var(--vifi-space-md);color:var(--vifi-text-muted);font-size:var(--vifi-font-size-label)}
.vifi-profile-confirm{padding:var(--vifi-space-md);border:1px solid var(--vifi-divider);border-radius:var(--vifi-radius-xl);background:var(--vifi-surface)}
.vifi-profile-confirm p{margin:0 0 var(--vifi-space-md);font-size:var(--vifi-font-size-label);line-height:1.6}
.vifi-profile-sheet>[role=status]{font-size:var(--vifi-font-size-label);margin:0}
.vifi-profile-sheet>[role=status]:empty{min-height:0;height:0}
@keyframes vifi-profile-in{from{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}
@media(max-width:767px){
 .vifi-profile-sheet{width:100%;height:calc(100dvh - env(safe-area-inset-top) - 12px);max-height:calc(100dvh - env(safe-area-inset-top) - 12px);margin:auto 0 0;padding:var(--vifi-space-md) var(--vifi-space-md) max(var(--vifi-space-xl),env(safe-area-inset-bottom));border-radius:var(--vifi-radius-xl) var(--vifi-radius-xl) 0 0;border-right:1px solid var(--vifi-border);animation-name:vifi-profile-up}
 .vifi-profile-sheet::before{content:"";display:block;width:32px;height:4px;margin:0 auto var(--vifi-space-sm);border-radius:var(--vifi-radius-sm);background:var(--vifi-border)}
 .vifi-profile-sheet h2{margin:var(--vifi-space-md) 0}
 @keyframes vifi-profile-up{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
}
@media(prefers-reduced-motion:reduce){.vifi-profile-sheet{animation:none}.vifi-profile-sheet::backdrop{backdrop-filter:none}}
.vifi-profile-card[hidden]{display:none}

.vifi-account-delivery-address{font-weight:var(--vifi-font-weight-bold);color:var(--vifi-pink);overflow-wrap:anywhere}.vifi-account-mailboxes{display:flex;flex-wrap:wrap;gap:var(--vifi-space-xs)}.vifi-account-sheet .vifi-account-mailboxes a{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:44px;padding:var(--vifi-space-sm) var(--vifi-space-md);border:1px solid var(--vifi-border);border-radius:var(--vifi-radius-lg);text-decoration:none}.vifi-account-toast{position:fixed;inset:max(16px,env(safe-area-inset-top)) auto auto 50%;transform:translateX(-50%);margin:0;box-sizing:border-box;width:max-content;max-width:calc(100% - 32px);padding:var(--vifi-space-md) var(--vifi-space-lg);border:1px solid var(--vifi-border);border-radius:var(--vifi-radius-lg);background:var(--vifi-surface);color:var(--vifi-text);font:var(--vifi-font-size-label)/1.5 var(--vifi-font-family);overflow-wrap:anywhere;z-index:var(--vifi-z-toast)}.vifi-account-toast::backdrop{background:transparent;pointer-events:none}
