/* Long-lived teams use the existing public palette and task-first navigation. */
.teamspace { min-width:0; }
.teamspace h2 { font-size:20px; line-height:1.5; margin:0 0 16px; }
.teamspace h2 > span { font-size:13px; color:var(--ink-muted); font-weight:400; }
.teamspace .community-nav { margin-bottom:22px; }
.team-toolbar-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin:22px 0 16px; font-size:12px; }
.team-tabs { display:flex; gap:6px; }
.team-tabs a { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:8px 12px; border-radius:7px; text-decoration:none; color:var(--ink-muted); }
.team-tabs a[aria-current] { color:var(--accent); background:var(--accent-soft); font-weight:600; }
.team-query { display:grid; grid-template-columns:minmax(200px,1fr) 180px 160px auto; align-items:end; gap:14px; }
.team-query .query-control { min-width:0; }
.team-query label { display:block; color:var(--ink-muted); font-size:12px; margin-bottom:6px; }
.team-query .human-filter-chips { grid-column:1/-1; }
.team-result-count { color:var(--ink-muted); font-size:13px; margin:22px 0 12px; }
.teams-directory { border:1px solid var(--border); border-radius:12px; background:var(--surface); min-width:0; }
.team-directory-row { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:20px; padding:24px; border-bottom:1px solid var(--border); min-width:0; scroll-margin-top:100px; }
.team-directory-row:last-child { border-bottom:0; }
.team-directory-row:target { outline:2px solid var(--accent); outline-offset:2px; }
.team-emblem { display:inline-flex; flex:none; width:56px; height:56px; align-items:center; justify-content:center; border-radius:12px; color:var(--accent); background:var(--accent-soft); font-weight:700; font-size:24px; }
.team-emblem-large { width:72px; height:72px; border-radius:16px; font-size:30px; }
.team-directory-copy { min-width:0; }
.team-directory-copy h2 { margin:0 0 6px; font-size:19px; overflow-wrap:anywhere; }
.team-directory-copy h2 a { color:var(--ink); text-decoration:none; }
.team-directory-copy h2 a:hover { color:var(--accent); }
.team-directory-copy > p { color:var(--ink-muted); font-size:14px; margin:0 0 10px; overflow-wrap:anywhere; }
.team-meta { display:flex; flex-wrap:wrap; gap:6px 14px; color:var(--ink-muted); font-size:12px; }
.team-directory-side { display:grid; justify-items:end; gap:12px; font-size:12px; }
.team-state { color:var(--accent); }
.team-empty { padding:44px 24px; text-align:center; }
.team-empty p { margin:0 0 20px; color:var(--ink-muted); line-height:1.7; }
.teamspace .team-panel { padding:24px; min-width:0; margin-bottom:20px; }
.team-panel > h2 { font-size:18px; }
.team-panel form .btn { margin-top:12px; }
.team-panel .team-input-action .btn { margin-top:0; white-space:nowrap; }
.team-panel .form-select { width:100%; }
.team-panel :is(input,select,textarea) { max-width:100%; }
.team-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:20px; }
.team-form-grid > * { min-width:0; }
.team-form-wide { grid-column:1/-1; }
.team-directions { display:flex; flex-wrap:wrap; gap:8px 20px; border:0; padding:0; }
.team-directions legend { font-size:14px; font-weight:600; margin-bottom:8px; }
.team-directions label,.team-check { display:inline-flex; align-items:center; gap:9px; min-height:40px; margin:0; font-size:14px; }
.team-directions input,.team-check input { width:17px; height:17px; accent-color:var(--accent); flex:none; }
.team-creation { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:32px; align-items:start; }
.team-creation-note { padding:16px 0; color:var(--ink-muted); font-size:14px; line-height:1.8; }
.team-creation-note h2 { color:var(--ink); font-size:18px; }
.team-form-intro { margin:0 0 22px; color:var(--ink-muted); font-size:13px; }
.team-notice { padding:16px 18px; border-left:3px solid var(--accent); background:var(--accent-soft); color:var(--ink); font-size:14px; line-height:1.7; margin-bottom:24px; }
.team-profile-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:24px; padding:16px 0 28px; border-bottom:1px solid var(--border); margin-bottom:28px; }
.team-profile-head h1 { font-size:clamp(26px,2.4vw,36px); margin:0 0 8px; line-height:1.4; overflow-wrap:anywhere; }
.team-profile-head p { margin:0 0 12px; color:var(--ink-muted); overflow-wrap:anywhere; }
.team-profile-actions { display:flex; flex-wrap:wrap; gap:10px; }
.team-profile-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:32px; }
.team-profile-main { min-width:0; }
.team-section { padding:0 0 28px; margin-bottom:28px; border-bottom:1px solid var(--border); }
.team-description { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; color:var(--ink-muted); }
.team-join-panel { position:sticky; top:90px; }
.team-join-panel p { color:var(--ink-muted); line-height:1.7; font-size:14px; }
.team-join-panel textarea { margin-top:8px; }
.team-member-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.team-member-list article { display:flex; align-items:center; gap:12px; min-width:0; }
.team-member-list article > div { min-width:0; }
.team-member-list strong { display:block; font-size:14px; overflow-wrap:anywhere; }
.team-member-list article > div > span { display:block; color:var(--ink-muted); font-size:12px; overflow-wrap:anywhere; }
.team-member-initial { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; background:var(--surface-alt); color:var(--ink-muted); border-radius:50%; flex:none; }
.team-entry-row { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:22px; border-bottom:1px solid var(--border); min-width:0; }
.team-entry-row:last-child { border-bottom:0; }
.team-entry-row > div { min-width:0; }
.team-entry-row h2,.team-entry-row h3 { font-size:17px; margin:0 0 6px; overflow-wrap:anywhere; }
.team-entry-row p { color:var(--ink-muted); margin:0; font-size:13px; line-height:1.7; }
.team-entry-row > a { flex:none; font-size:13px; }
.team-management-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; align-items:start; }
.team-stack { min-width:0; }
.team-request-row { padding:16px 0; border-bottom:1px solid var(--border); }
.team-request-row:last-child { border-bottom:0; }
.team-request-row p,.team-request-row small { color:var(--ink-muted); font-size:13px; margin:6px 0; overflow-wrap:anywhere; }
.team-request-row form { display:flex; flex-wrap:wrap; gap:8px; }
.team-member-admin { display:flex; gap:16px; justify-content:space-between; align-items:center; padding:14px 0; border-top:1px solid var(--border); }
.team-member-admin strong,.team-member-admin span { display:block; overflow-wrap:anywhere; }
.team-member-admin span { font-size:12px; color:var(--ink-muted); }
.team-member-admin .btn { white-space:nowrap; margin-top:0 !important; }
.team-input-action { display:flex; align-items:center; gap:10px; min-width:0; }
.team-input-action :is(input,select) { min-width:0; flex:1; }
.team-details-title { min-height:44px; cursor:pointer; font-size:16px; font-weight:600; }
details[open] > .team-details-title { margin-bottom:18px; }
.team-subheading { margin:24px 0 8px; font-size:15px; }
.team-history { list-style:none; padding:0; margin:0; }
.team-history li { display:flex; flex-wrap:wrap; gap:8px 16px; padding:10px 0; border-bottom:1px solid var(--border); font-size:12px; }
.team-history time { color:var(--ink-muted); white-space:nowrap; }
.team-danger { border-color:var(--border-strong); }
.team-danger p { color:var(--ink-muted); line-height:1.7; font-size:13px; }
.team-club-selector { margin:20px 0; }
.team-roster-picker { padding:0; border:0; margin:22px 0; min-width:0; }
.team-roster-picker legend { font-size:15px; font-weight:600; margin-bottom:10px; }
.team-roster-options { max-height:320px; overflow:auto; margin-top:12px; overscroll-behavior:contain; }
.team-roster-options label { display:flex; align-items:center; gap:12px; padding:12px 8px; min-height:52px; border-bottom:1px solid var(--border); }
.team-roster-options input { width:17px; height:17px; flex:none; accent-color:var(--accent); }
.team-roster-options strong,.team-roster-options small { display:block; overflow-wrap:anywhere; }
.team-roster-options small { color:var(--ink-muted); font-size:12px; }
.team-roster-count { color:var(--ink-muted); font-size:13px; }
@media(max-width:1100px) {
 .team-profile-layout,.team-creation,.team-management-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .team-join-panel { position:static; }
 .team-profile-head { grid-template-columns:auto minmax(0,1fr); }
 .team-profile-actions { grid-column:1/-1; }
 .team-creation-note { padding:0 4px; }
}
@media(max-width:768px) {
 .team-query { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .team-query > :first-child,.team-query > button { grid-column:1/-1; }
 .team-directory-row { grid-template-columns:42px minmax(0,1fr); gap:14px; padding:20px 16px; }
 .team-emblem { width:42px; height:42px; font-size:22px; border-radius:9px; }
 .team-directory-copy h2 { font-size:18px; }
 .team-directory-side { grid-column:2; display:flex; justify-content:space-between; align-items:center; gap:12px; }
 .team-form-grid { grid-template-columns:minmax(0,1fr); }
 .teamspace .team-panel { padding:20px 16px; }
 .team-profile-head { gap:16px; padding-top:4px; }
 .team-member-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .team-entry-row { flex-wrap:wrap; padding:20px 16px; }
 .teamspace :is(.btn,.form-control,.form-select),.team-directions label,.team-check { min-height:44px; }
 .team-input-action { flex-wrap:wrap; }
 .team-input-action > .btn { flex:none; }
}
