.team-switcher{position:relative}
#teamMenu{display:block;position:absolute;left:6px;right:6px;top:calc(100% - 14px);margin:0;padding:6px;border:1px solid #D5E5FB;border-radius:16px;background:#FFFDF8;box-shadow:0 12px 32px #2036541a;z-index:50;max-height:0;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;transform:translateY(-6px);transition:opacity .18s,transform .22s,max-height .22s,visibility .22s}
#teamMenu.open{max-height:160px;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
#teamMenu .team-menu-options{max-height:96px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
#teamMenu button[data-team-id]{height:48px;min-height:48px;box-sizing:border-box;padding:8px 10px;display:flex;align-items:center;gap:10px;color:#203654;background:transparent;border:0;border-radius:10px;font-size:12px;text-align:left;width:100%}
#teamMenu .team-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#teamMenu button[aria-checked="true"]{background:#DCEAFF;color:#245EC0}
#teamMenu button:hover{background:#F6F9FF;color:#245EC0}
#teamMenu button:focus-visible{outline:2px solid #245EC0;outline-offset:-2px}
#teamMenu .team-menu-join{height:42px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:6px;border:0;border-top:1px solid #D5E5FB;border-radius:0 0 10px 10px;background:transparent;color:#245EC0;font-size:12px;font-weight:600}
#teamButton[aria-expanded="true"] .chevron{transform:rotate(180deg)}
.team-join-dialog .swal2-input-label{justify-content:flex-start;margin:22px 0 8px;font-size:13px;font-weight:600;color:#203654}
.team-join-dialog input.swal2-input{box-sizing:border-box;width:100%;height:46px;margin:0;padding:11px 13px;border:1px solid #D5E5FB;border-radius:11px;background:#FFFFFF;color:#203654;font:inherit;box-shadow:none}
.team-join-dialog input.swal2-input:focus{outline:2px solid #245EC0;outline-offset:2px}
.team-join-dialog .swal2-validation-message{margin:14px 0 0;padding:10px;border-radius:10px;background:#FFF1EE;color:#9C4239;font-size:13px}
body.team-flow-page{display:grid;place-items:center;min-height:100dvh;margin:0;padding:24px;background:#F6F9FF;color:#203654}
.team-flow-page .join-shell,.team-flow-page .auth-shell{display:block;width:min(460px,100%);max-width:100%;min-width:0;margin:0;padding:0;transform:none}
.team-flow-page .auth-card{display:block;width:100%;box-sizing:border-box;padding:32px;border:1px solid #D5E5FB;border-radius:22px;background:#FFFDF8;box-shadow:0 12px 36px #2036540a}
.team-flow-page .auth-card h1{margin:0 0 12px;color:#203654;font-size:28px}
.team-flow-page .auth-card>p{margin:0 0 26px;color:#65758E;font-size:14px;line-height:1.7}
.team-flow-page .auth-field{display:block;margin:0 0 22px;color:#203654;font-size:13px;font-weight:600}
.team-flow-page .auth-field input{display:block;box-sizing:border-box;width:100%;height:46px;margin-top:9px;padding:11px 13px;border:1px solid #D5E5FB;border-radius:11px;background:#FFFFFF;color:#203654;font:inherit;box-shadow:none}
.team-flow-page .auth-field input:focus{outline:2px solid #245EC0;outline-offset:2px}
.team-flow-page input:-webkit-autofill{-webkit-text-fill-color:#203654;box-shadow:0 0 0 100px #FFFFFF inset}
.team-flow-page .primary-button{width:100%;min-height:44px;background:#245EC0!important;color:#FFFFFF!important;box-shadow:0 5px 16px #245ec018;transform:none}
.team-flow-page .primary-button:hover:not(:disabled){background:#1C4FAD!important;transform:none}
.team-flow-page .secondary-button,.team-flow-page .team-choice{background:#FFFFFF!important;color:#203654!important;border:1px solid #D5E5FB;transform:none}
.team-flow-page .secondary-button:hover{background:#DCEAFF!important;color:#245EC0!important;border-color:#D5E5FB;transform:none}
.team-flow-page .back-link{display:block;margin-top:20px;text-align:center;color:#245EC0;font-size:13px}
.team-flow-page .auth-message{margin-top:16px;color:#9C4239;font-size:13px;line-height:1.6}
.team-flow-page .team-choice small{color:#65758E}
@media(max-width:480px){body.team-flow-page{padding:16px}.team-flow-page .auth-card{padding:26px 22px}}
@media(prefers-reduced-motion:reduce){#teamMenu{transition:none}}
