.genz-team-tabs { min-width:0; margin-top:1.5rem; }
.genz-team-tabs__nav { display:inline-flex; margin-bottom:1.5rem; padding:4px; border:1px solid #374151; border-radius:4px; background:#0c1420; }
.genz-team-tabs__nav button { min-height:42px; padding:.65rem 1.2rem; color:#9ca3af; border:0; border-radius:2px; background:transparent; font:inherit; font-weight:700; cursor:pointer; }
.genz-team-tabs__nav button[aria-selected=true] { color:#0b1119; background:#d7a23c; }
.genz-team-tabs__panel { min-width:0; }
.genz-team-tabs__panel[hidden] { display:none; }

.genz-org-chart { position:relative; width:100%; min-width:0; }
.genz-org-chart__toolbar { display:flex; min-height:44px; margin-bottom:10px; align-items:center; justify-content:space-between; gap:12px; }
.genz-org-chart__toolbar > div { display:flex; gap:6px; }
.genz-org-chart__toolbar button { min-width:40px; height:38px; padding:0 12px; color:#e5e7eb; border:1px solid #374151; border-radius:3px; background:#111a27; cursor:pointer; }
.genz-org-chart__toolbar button:hover { color:#0b1119; border-color:#d7a23c; background:#d7a23c; }
.genz-org-chart__toolbar output { display:grid; min-width:52px; height:38px; place-items:center; color:#d7a23c; border:1px solid #374151; background:#0b121d; font-family:monospace; font-size:.76rem; }
.genz-org-chart__hint { color:#7f8b9b; font-size:.72rem; }
.genz-org-chart__viewport { position:relative; width:100%; min-width:0; max-width:100%; min-height:500px; max-height:75vh; overflow:auto; direction:ltr; cursor:grab; touch-action:pan-x pan-y; border:1px solid #2d3748; border-top:3px solid #d7a23c; border-radius:4px; background-color:#090f17; background-image:radial-gradient(rgba(148,163,184,.16) 1px,transparent 1px); background-size:20px 20px; scrollbar-color:#7b6333 #101824; }
.genz-org-chart__viewport:focus-visible { outline:2px solid #d7a23c; outline-offset:2px; }
.genz-org-chart__viewport.is-panning { cursor:grabbing; user-select:none; }
.genz-org-chart__stage { position:relative; min-width:1000px; min-height:510px; padding:45px 50px; transform-origin:top left; transition:transform .18s ease,margin-bottom .18s ease; }
.genz-org-chart:not(.is-ready) .genz-org-chart__stage { transition:none; }
.genz-org-chart__lines { position:absolute; inset:0; z-index:1; width:100%; height:100%; overflow:visible; pointer-events:none; }
.genz-org-chart__lines path { fill:none; stroke:#d7a23c; stroke-width:2; transition:opacity .18s ease,stroke-width .18s ease,filter .18s ease; }
.genz-org-chart__lines path.is-lateral { stroke:#94a3b8; stroke-dasharray:8 7; }
.genz-org-chart__lines path.is-personal { stroke:var(--connection-color,#8cff00); filter:drop-shadow(0 0 3px color-mix(in srgb,var(--connection-color,#8cff00) 45%,transparent)); }
.genz-org-chart.has-personal-focus .genz-org-chart__lines path.is-personal { opacity:.12; }
.genz-org-chart.has-personal-focus .genz-org-chart__lines path.is-personal.is-active { opacity:1; stroke-width:3.2; }
.genz-org-chart__groups { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(230px,340px)); grid-auto-rows:auto; direction:ltr; justify-content:center; align-items:start; gap:52px 46px; }

.genz-org-group { min-width:230px; padding:8px; border:2px solid #526173; border-radius:4px; background:rgba(15,23,34,.97); box-shadow:0 12px 30px rgba(0,0,0,.28); transition:border-color .2s ease; }
.genz-org-group:hover { border-color:#78879a; }
.genz-org-group > header { color:#f8fafc; }
.genz-org-group__toggle { display:grid; width:100%; min-height:46px; padding:8px 9px; grid-template-columns:4px 1fr 26px 18px; align-items:center; gap:8px; color:inherit; border:0; background:transparent; font:inherit; font-size:.88rem; font-weight:900; text-align:start; cursor:pointer; }
.genz-org-group__toggle::before { width:4px; height:22px; border-radius:4px; background:#d7a23c; content:""; }
.genz-org-group__toggle small { display:grid; width:26px; height:26px; place-items:center; color:#d7a23c; border:1px solid #65522d; border-radius:50%; font-size:.7rem; }
.genz-org-group__toggle i { width:8px; height:8px; justify-self:center; border-right:2px solid #9ca8b8; border-bottom:2px solid #9ca8b8; transform:rotate(45deg); transition:transform .2s ease; }
.genz-org-group__toggle[aria-expanded=true] i { transform:rotate(225deg); }
.genz-org-group:not(.is-collapsed) { width:fit-content; max-width:none; justify-self:center; }
.genz-org-group__members { display:grid; grid-template-columns:repeat(var(--member-columns,1),minmax(130px,150px)); justify-content:center; gap:8px; margin-top:8px; padding-top:9px; border-top:1px solid #374151; }
.genz-org-group__members[hidden] { display:none; }
.genz-org-group.is-collapsed { border-color:#3c4859; }

.genz-org-person { min-width:0; padding:9px 6px; text-align:center; border:1px solid #2d3748; border-radius:3px; background:#111a27; }
.genz-org-person:focus-visible { outline:2px solid #d7a23c; outline-offset:2px; }
.genz-org-person__photo { width:58px; height:58px; margin:0 auto 7px; border:2px solid #d7a23c; border-radius:50%; background-color:#080d14; background-repeat:no-repeat; background-position:var(--crop-x,50%) var(--crop-y,50%); box-shadow:0 6px 15px rgba(0,0,0,.35); }
.genz-org-person__photo.genz-crop-portrait { background-size:var(--crop-size,100%) auto; }
.genz-org-person__photo.genz-crop-landscape { background-size:auto var(--crop-size,100%); }
.genz-org-person__photo--placeholder { display:grid; place-items:center; color:#d7a23c; font-size:1.2rem; font-weight:900; }
.genz-org-person h4 { margin:0; color:#f8fafc; font-size:.72rem; line-height:1.5; }
.genz-org-person p { margin:3px 0 0; color:#d7a23c; font-size:.63rem; line-height:1.45; }
.genz-org-chart[dir=rtl] .genz-org-group { direction:rtl; }
.genz-org-chart[dir=ltr] .genz-org-group { direction:ltr; }

@media(max-width:760px) {
	.genz-team-tabs__nav { display:grid; grid-template-columns:1fr 1fr; width:100%; }
	.genz-org-chart__toolbar { flex-wrap:wrap; }
	.genz-org-chart__hint { order:3; width:100%; text-align:center; }
	.genz-org-chart__viewport { min-height:470px; }
	.genz-org-chart__stage { min-width:920px; padding:35px; }
	.genz-org-chart__groups { grid-template-columns:repeat(3,minmax(215px,290px)); gap:48px 38px; }
	.genz-org-group { min-width:215px; }
	.genz-org-group__members { grid-template-columns:repeat(var(--member-columns,1),minmax(120px,140px)); }
}
