.node-name{fill:url(#brandOutline);fill-opacity:.8;font-family:"Avenir Next",Avenir,Inter,ui-sans-serif,system-ui,sans-serif;font-size:20px;font-weight:650;letter-spacing:-.025em}
.node-name-medium{font-size:18.5px}.node-name-long{font-size:17px}
.node-dept{fill:#fff;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.node-role{fill:#f1f8f7;font-size:13.5px;font-weight:700;letter-spacing:-.005em}
.node-responsibility{fill:#c2d7d6;font-size:10.5px;font-weight:700}
.profile-hint{fill:#b8e3d7;font-size:10px;font-weight:800;letter-spacing:.03em}
.profile-drawer{padding:0;background:#081620;color:#effff9;border-left:1px solid rgba(126,216,190,.2)}
.profile-drawer .drawer-close{position:sticky;top:1rem;float:right;margin:1rem 1rem 0 0;z-index:2;background:#102b36;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.25)}
#profileContent{padding:0 2rem 2rem}
.profile-photo{display:block;width:156px;height:156px;margin:0 auto 1.3rem;border:7px solid #081620;box-shadow:0 0 0 3px #43b995,0 18px 34px rgba(0,0,0,.35);transform:translateY(-24px)}
.profile-photo:not(img){display:grid;place-items:center;color:#08202b;font-size:2rem;font-weight:850;background:linear-gradient(135deg,#b8dc78,#00a99d)}
.profile-drawer.open #profileContent:before{content:"";display:block;height:126px;margin:0 -2rem;background:radial-gradient(circle at 50% 130%,rgba(184,220,120,.45),transparent 34%),linear-gradient(135deg,#173f50,#087b76 60%,#43b995);border-bottom:1px solid rgba(126,216,190,.2)}
.profile-drawer .eyebrow{display:block;text-align:center;color:#82d9bf}
.profile-drawer h2,.profile-drawer .profile-role{text-align:center}
.profile-drawer .profile-affiliation{display:flex;width:max-content;margin:.1rem auto .5rem;text-align:center}
.profile-drawer h2,.profile-role,.profile-field strong,.profile-team-member strong,.profile-team-member small{overflow-wrap:anywhere}
.profile-drawer h2{font-size:clamp(2rem,5vw,2.7rem);line-height:1.02;margin:.5rem 0}
.profile-role{color:#82d9bf;font-size:1rem;line-height:1.4}
.profile-grid{gap:.75rem}.profile-field{min-width:0;background:#0c202e;border:1px solid rgba(126,216,190,.12)}.profile-field small{color:#8faeac}.profile-field strong{line-height:1.35}
.profile-bio{color:#a8bfbd}.profile-team-member{min-width:0}.profile-team-member>span:nth-child(2){min-width:0}
.mobile-chart{background:#f5f8f5}
.mobile-person{position:relative;min-width:0;grid-template-columns:auto minmax(0,1fr) auto!important;padding:1rem!important;border:1px solid rgba(126,216,190,.3)!important;border-radius:20px!important;background:linear-gradient(145deg,#28525a,#173943)!important;color:#effff9!important;box-shadow:0 12px 25px rgba(18,54,58,.2);overflow:hidden;transition:transform .24s ease,border-color .2s ease,box-shadow .24s ease}
.mobile-person:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#b8dc78,#00a99d)}
.mobile-person.cherry-global:before{background:#df3151}.mobile-person:hover{transform:translateY(-3px);border-color:#43b995!important;box-shadow:0 18px 32px rgba(0,5,13,.38)}
.mobile-person img,.mobile-person .avatar-fallback{width:64px!important;height:64px!important;border:3px solid #102b36;box-shadow:0 0 0 2px #43b995;background:linear-gradient(135deg,#b8dc78,#00a99d);color:#08202b;font-weight:850}
.mobile-person strong{font-family:"Avenir Next",Avenir,Inter,ui-sans-serif,system-ui,sans-serif;font-size:1rem;font-weight:650;letter-spacing:-.015em;background:linear-gradient(100deg,rgba(184,220,120,.8),rgba(67,185,149,.8) 50%,rgba(0,169,157,.8));background-clip:text;-webkit-background-clip:text;color:transparent}.mobile-person small{font-size:.82rem;line-height:1.35;color:#b3c9c7!important}
.mobile-person>span:nth-child(2){min-width:0}.mobile-person strong,.mobile-person small,.mobile-department{display:block;max-width:100%;overflow-wrap:anywhere}.mobile-profile-action{white-space:nowrap}
.mobile-department{display:block;margin-top:.32rem;color:#82d9bf;font-size:.65rem;font-style:normal;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.mobile-profile-action{color:#82d9bf;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.mobile-branch-toggle{display:block;width:calc(100% - 1rem);margin:-.25rem 0 .7rem .5rem;padding:.45rem .8rem;border:1px solid rgba(126,216,190,.16);border-radius:0 0 14px 14px;background:#0a202c;color:#91b6b3;font-size:.72rem;font-weight:750;text-align:left;cursor:pointer}
.mobile-children{border-left-color:rgba(126,216,190,.25)!important}.toolbar{flex-wrap:wrap}.search{min-width:min(260px,100%)}
.view-toggle{display:flex;align-items:center;gap:.2rem;padding:.2rem;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.view-toggle button{border:0;border-radius:999px;background:transparent;color:var(--muted);min-height:34px;padding:.35rem .75rem;font-size:.78rem;font-weight:850;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.view-toggle button.active{background:var(--ink);color:var(--surface);box-shadow:0 8px 18px rgba(20,33,31,.14)}
.view-toggle button:focus-visible{outline:2px solid #43b995;outline-offset:2px}
.chart-canvas.compact-scroll{height:860px;overflow:hidden;background-size:26px 26px}
.chart-canvas.compact-scroll svg{display:block;min-width:100%}
.dark body{background:radial-gradient(circle at 50% -12%,#173b3d 0,#0e2025 34%,#09171c 72%);color:#edf7f4}
.dark .site-header{background:rgba(9,23,28,.82);border-color:rgba(126,216,190,.13);box-shadow:0 10px 35px rgba(0,0,0,.2)}
.dark .brand-copy{border-color:rgba(126,216,190,.2)}.dark .brand-copy small{color:#9eb8b3}
.dark .chart-heading p{color:#a9c0bc}.dark .eyebrow{color:#82d9bf}
.dark .node-name{fill:url(#brandOutline);fill-opacity:.9}.dark .node-dept{fill:#fff}.dark .node-role{fill:#f1f8f7}.dark .node-responsibility{fill:#c2d7d6}
.dark .stat-card{border:1px solid rgba(184,220,120,.18);box-shadow:0 22px 45px rgba(0,0,0,.3)}
.dark .workspace{background:#0d2228;border-color:rgba(126,216,190,.18);box-shadow:0 26px 70px rgba(0,0,0,.38)}
.dark .toolbar{background:rgba(14,35,41,.94);border-color:rgba(126,216,190,.16)}
.dark .search{background:#122c33;border-color:rgba(126,216,190,.12);color:#edf7f4}.dark .search:focus-within{background:#16353c;border-color:#43b995;box-shadow:0 0 0 3px rgba(67,185,149,.11)}
.dark .search input{color:#edf7f4}.dark .search input::placeholder{color:#89a7a3}
.dark .toolbar select,.dark .icon-button,.dark .text-button{background:#132e35;border-color:rgba(126,216,190,.18);color:#e9f7f3}
.dark .toolbar select:hover,.dark .icon-button:hover,.dark .text-button:hover{background:#193b42;border-color:#43b995;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.dark .view-toggle{background:#122c33;border-color:rgba(126,216,190,.18)}
.dark .view-toggle button.active{background:#e9f7f3;color:#132e35}
.dark .mobile-chart{background:#0a1d23}
.dark .mobile-person{background:linear-gradient(145deg,#244b54,#15343e)!important;border-color:rgba(126,216,190,.26)!important;box-shadow:0 14px 28px rgba(0,0,0,.3)}
.dark .mobile-branch-toggle{background:#112c34;border-color:rgba(126,216,190,.18);color:#aed0ca}
.dark .profile-drawer{background:#091c23;border-color:rgba(126,216,190,.2)}.dark .profile-field{background:#102a32;border-color:rgba(126,216,190,.16)}
.dark .drawer-backdrop{background:rgba(1,8,11,.68);backdrop-filter:blur(4px)}
@media(max-width:1100px){.chart-heading{padding-top:3.5rem}.toolbar-group{margin-left:auto}}
@media(max-width:800px){.chart-heading h1{font-size:clamp(2.5rem,13vw,4.2rem)}.toolbar select{max-width:100%}.profile-drawer{padding:0}.profile-grid{grid-template-columns:1fr}.mobile-children{padding-left:.65rem}}
@media(max-width:420px){#profileContent{padding:0 1.25rem 1.5rem}.profile-drawer.open #profileContent:before{margin:0 -1.25rem}.toolbar-group{width:100%;justify-content:space-between}.toolbar-group .text-button{padding:.55rem .7rem}.view-toggle{order:-1;width:100%;justify-content:center}.view-toggle button{flex:1}.mobile-person{padding:.8rem!important;gap:.7rem}.mobile-person img,.mobile-person .avatar-fallback{width:54px!important;height:54px!important}}
