/* Team entry action shares the capsule material; SVG is always decorative. */
#page-settings #teamInviteBtn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; }
#page-settings #teamInviteBtn svg { flex:0 0 18px; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

/* Team dialogs are portalled to body; keep their material independent of .app. */
.team-dialog-overlay { padding:24px; align-items:center; }
.team-dialog-overlay .team-dialog { width:min(560px,100%); max-height:calc(100dvh - 48px); border-radius:28px; background:var(--ds-surface); color:var(--ds-ink); font-family:var(--ds-font); box-shadow:0 32px 80px -24px rgba(20,24,40,.3); }
.team-dialog .src-add-head { flex:0 0 auto; gap:14px; padding:20px 24px; border-color:var(--ds-line); }
.team-dialog .team-dialog-heading { min-width:0; flex:1; }
.team-dialog .src-add-h { font:650 22px/1.3 var(--ds-font); letter-spacing:-.025em; overflow-wrap:anywhere; }
.team-dialog .team-dialog-eyebrow { margin:4px 0 0; color:var(--ds-ink-secondary); font:400 13px/1.4 var(--ds-font); }
.team-dialog .team-dialog-icon { display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:18px; background:var(--ds-accent-soft); color:var(--ds-accent); }
.team-dialog svg { width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.team-dialog .team-dialog-icon svg { width:24px; height:24px; }
.team-dialog .src-add-close { width:44px; height:44px; flex:0 0 44px; margin:0; border-radius:50%; color:var(--ds-ink-secondary); background:var(--ds-surface-subtle); }
.team-dialog .src-add-close:hover { color:var(--ds-ink); background:var(--ds-line); }
.team-dialog .src-add-body { min-height:0; padding:20px 24px; overflow-y:auto; overscroll-behavior:contain; }
.team-dialog .team-dialog-description { margin:0 0 24px; font:400 15px/1.55 var(--ds-font); color:var(--ds-ink-secondary); }
.team-dialog .team-dialog-form { display:flex; flex-direction:column; gap:16px; min-width:0; }
.team-dialog .src-field { margin:0; min-width:0; }
.team-dialog .src-form-label { display:block; margin:0 0 9px; color:var(--ds-ink); font:500 14px/1.4 var(--ds-font); }
.team-dialog .src-token-input { box-sizing:border-box; width:100%; min-width:0; height:52px; padding:12px 18px; border:1px solid var(--ds-line); border-radius:999px; background:var(--ds-surface); color:var(--ds-ink); font:400 16px/1.4 var(--ds-font); box-shadow:0 3px 10px rgba(25,28,45,.04),0 10px 24px rgba(25,28,45,.035); }
.team-dialog .src-token-input::placeholder { font:400 16px/1.4 var(--ds-font); color:var(--ds-ink-secondary); opacity:.75; }
.team-dialog .ds-select { display:block; width:100%; }
.team-dialog .ds-select-trigger { text-align:left; justify-content:space-between; }
.team-dialog .ds-select-trigger-label { flex:1; min-width:0; }
.team-dialog .team-email-field { position:relative; }
.team-dialog .team-email-field > svg { position:absolute; top:16px; left:18px; z-index:2; color:var(--ds-ink-secondary); pointer-events:none; }
.team-dialog .team-email-field input { padding-left:48px; }
.team-dialog .team-role-hint { margin:10px 4px 0; color:var(--ds-ink-secondary); font:400 13px/1.5 var(--ds-font); }
.team-dialog .team-dialog-note { display:flex; align-items:flex-start; gap:10px; margin:0; padding:14px 16px; border-radius:20px; background:var(--ds-surface-subtle); color:var(--ds-ink-secondary); font:400 13px/1.55 var(--ds-font); }
.team-dialog .team-dialog-note svg { margin-top:1px; width:18px; height:18px; }
.team-dialog .team-dialog-actions { display:flex; align-items:stretch; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.team-dialog :is(.src-token-submit,.team-dialog-secondary) { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:48px; padding:12px 20px; border-radius:999px; font:500 14px/1.4 var(--ds-font); cursor:pointer; text-align:center; }
.team-dialog .src-token-submit { flex:1; border:1px solid transparent; margin:0; background:var(--ds-accent); color:#fff; box-shadow:0 5px 14px rgba(61,109,218,.15); }
.team-dialog .src-token-submit:hover:not(:disabled) { background:var(--ds-accent-strong); }
.team-dialog .src-token-submit:disabled { opacity:.45; cursor:default; box-shadow:none; }
.team-dialog .team-dialog-secondary { background:var(--ds-surface); border:1px solid var(--ds-line); color:var(--ds-ink-secondary); box-shadow:0 3px 10px rgba(25,28,45,.04),0 10px 24px rgba(25,28,45,.035); }
.team-dialog .team-dialog-secondary:hover { color:var(--ds-ink); background:var(--ds-surface-subtle); }
.team-dialog .team-dialog-identity { display:flex; align-items:center; gap:14px; margin:0 0 20px; padding:14px 16px; border-radius:22px; background:var(--ds-surface-subtle); }
.team-dialog .team-dialog-avatar { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; border-radius:16px; background:var(--ds-accent-soft); color:var(--ds-accent); font:600 16px/1 var(--ds-font); }
.team-dialog .team-dialog-avatar--pending { background:var(--ds-surface); color:var(--ds-ink-secondary); }
.team-dialog .team-dialog-person { flex:1; min-width:0; overflow-wrap:anywhere; }
.team-dialog .team-dialog-person > :first-child { font:600 15px/1.45 var(--ds-font); }
.team-dialog .team-dialog-person > :last-child { margin-top:4px; color:var(--ds-ink-secondary); font:400 13px/1.5 var(--ds-font); }
.team-dialog .team-dialog-utility { display:flex; justify-content:center; margin-top:12px; padding-top:8px; border-top:1px solid var(--ds-line); }
.team-dialog .team-dialog-danger { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:0; border-radius:999px; padding:10px 14px; background:transparent; color:var(--ds-ink-secondary); font:400 13px/1.4 var(--ds-font); cursor:pointer; }
.team-dialog .team-dialog-danger svg { width:16px; height:16px; }
.team-dialog .team-dialog-danger:is(:hover,:focus-visible) { color:var(--ds-red); background:var(--ds-red-soft); }
.team-dialog .team-link-result { padding:16px; border-radius:22px; border:1px solid var(--ds-line); background:var(--ds-surface-subtle); overflow-wrap:anywhere; }
.team-dialog .team-link-title { display:flex; align-items:center; gap:8px; font:600 15px/1.4 var(--ds-font); }
.team-dialog .team-link-title svg { color:var(--ds-green); }
.team-dialog .team-link-result p { margin:8px 0 12px; color:var(--ds-ink-secondary); font:400 13px/1.5 var(--ds-font); }
.team-dialog .team-link-row { display:flex; gap:8px; }
.team-dialog .team-link-row input { min-width:0; width:100%; flex:1; padding:12px; border:1px solid var(--ds-line); border-radius:14px; background:var(--ds-surface); color:var(--ds-ink); font:400 13px/1.4 var(--ds-font); }
.team-dialog :is(button,input,[tabindex]):focus-visible { outline:2px solid var(--ds-accent); outline-offset:3px; }
@media (max-width:600px) {
 .team-dialog-overlay { padding:8px; align-items:center; }
 .team-dialog-overlay .team-dialog { max-height:calc(100dvh - 16px); border-radius:24px; }
 .team-dialog .src-add-head { padding:18px 16px; gap:10px; }
 .team-dialog .src-add-h { font-size:19px; }
 .team-dialog .team-dialog-icon { width:40px; height:40px; flex-basis:40px; border-radius:15px; }
 .team-dialog .src-add-body { padding:20px 16px; }
 .team-dialog .team-link-row { flex-wrap:wrap; }
 .team-dialog .team-link-row .team-dialog-secondary { width:100%; }
}
@media (max-width:360px) {
 .team-dialog .team-dialog-actions { flex-direction:column-reverse; }
 .team-dialog .team-dialog-actions > button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .team-dialog-overlay,.team-dialog-overlay .team-dialog { transition:none; } }
